That's one odd mountain!
05AB1E, 54 52 47 46 bytes
ÅɹL£D€g__ÏRv"/ \ "yg×N·©úˆyvy4yg-ð×}J®>úˆ}¯R»
Try it online!
Explanation
# implicit input n
ÅÉ # push a list of uneven numbers up to input
¹L£ # divide into sublists of length 1,2,3...n
D€g__Ï # remove empty sublists
R # reverse list
v # for each sublist
"/ \ " # push the string "/ \ "
yg× # repeat it len(sublist) times
N·©ú # prepend (sublist index)*2 spaces
ˆ # add to global list
yv # for each number in sublist
y4yg-ð× # prepend spaces until length is 4
} # end inner loop
J # join to string
®>ú # prepend (sublist index)*2+1 spaces
ˆ # add to global list
} # end outer loop
¯ # push global list
R # reverse it
» # join rows by space and columns by newline
# implicitly print
I could have saved 5 bytes with ÅɹL£D€g__ÏRv"/ \ "yg×N·©úˆy4jJðÛ®>úˆ}¯R»
if only I'd pushed that bugfix for j I wrote several weeks ago :/
Batch, 335 bytes
@echo off
set i=
set/ac=w=0
:l
set i= %i%
set/aw+=2,c+=w
if %c% lss %1 goto l
set s=
set t=
set/ac=w=1
for /l %%a in (1,2,%1) do call:c %%a
echo %s%
echo%t%
exit/b
:c
if not %c%==0 goto g
echo%i%%s%
set i=%i:~2%
echo%i%%t%
set s=
set t=
set/aw+=1,c=w
:g
set n=%1 (three trailing spaces)
set s=%s%%n:~0,4%
set t=%t% / \
set/ac-=1
Python 2, 160 149 143 bytes
Thanks TFeld for saving 11 bytes and Artyer for saving 6 bytes
x=range(1,input()+1,2);y=[];i=1
while x:y+=[''.join('%-4d'%j for j in x[:i]),'/ \ '*len(x[:i])];x=x[i:];i+=1
while y:print' '*~-len(y)+y.pop(0)