Difference between revisions of "Mount-Kilimanjaro"

(AFS Setup)
Line 1: Line 1:
 
Server named after Mho, in the Mhount namespace, Kilimanjaro being one of [http://en.wikipedia.org/wiki/Seven_Summits Seven summits].
 
Server named after Mho, in the Mhount namespace, Kilimanjaro being one of [http://en.wikipedia.org/wiki/Seven_Summits Seven summits].
  
Mount-Kilimanjaro är en AFS-filserver som vi ärvde från mho. Det är en AMD Athlon II X4 600e med 8Gb RAM, en 40Gb SSD som systemdisk och 8x2T snurr-diskar som har fungerat som lagringsserver, något som vi på Stacken kommer använda den som. Då vi har mer kompetens inom Linux än OpenSolaris/Indiana/... så valde vi att sätta upp en Debian-maskin med Linux mjukvaruraid samt ZFS.
+
Mount-Kilimanjaro är en filserver som vi ärvde från mho. Den har kört OpenAFS under ett par år, för information om det se [http://wiki.stacken.kth.se/wiki/index.php?title=Mount-Kilimanjaro&oldid=442 rev 442 av den här sidan].
  
NOTERA! Texten på den här sidan åker runt och ändrar på sig mycket, kommer snygga till när maskinen är klar.
+
Maskinen är en AMD Athlon II X4 600e med 8Gb RAM, vilket med dagens mått gör den en trött maskin. Det är dock en av de snabbare filservrarna som vi har i dag. [[User:nsg|nsg]] har 2015-07-23 tagit över servern för att hosta OS disk för KVM-servrarna.
  
== Partionera disk ==
+
== OS Install ==
  
Skapa partitioner på alla diskar, identiskt.
 
10G i början av disken för OS, följt av resterande för RAID:en.
 
  
for n in a b c d f g h i j k l ; do
 
  parted -s /dev/sd$n mklabel gpt;
 
  parted -s /dev/sd$n mkpart primary ext2 0% 10GB;
 
  parted -s /dev/sd$n mkpart primary ext2 10GB 100%;
 
  parted -s /dev/sd$n print;
 
done
 
 
Det var smidigast att göra det innan installationen, men lite beroende vad för skiva/sticka du har så kan det gå att göra det direkt på den.
 
Jag valde att bara lägga OS på fyra diskar, speglat. Det är de fyra diskarna som ligger längst ner i lådan och är märkta systemdisk.
 
Systemdiskarna som vi bootar från sitter direkt på moderkortet.
 
 
== OS installation ==
 
 
Grund-installationen gjordes med en Debian 6.0.3 AMD64 netinst CD.
 
Vi valde engelska som språk, en_US.UTF-8 samt svenska som layout.
 
 
Vid Task Select valde vi att inkludera ''SSH server'' samt avmarkera ''Graphical desktop enviroment''. Följande var valt:
 
* SSH Server
 
* Standad system utilities
 
 
=== Installerade paket ===
 
 
* heimdal-clients
 
* heimdal-clients-x
 
* openafs-client
 
* openafs-fileserver
 
* openafs-modules-dkms
 
* mdadm
 
 
== RAID Setup ==
 
 
Maskinen har 11 diskar på 2T styck. vi bygger en raid6 och två används som hot spare.
 
Under installationen valde jag att göra en spegel över den lilla första partitionen på fyra diskar, jag skapade sedan en lvm på spegeln och skapade två volymer för swap och root. Jag lämade lite plats över så att vi enkelt kan ta snaphots av volymerna.
 
 
OLD:
 
 
Lägg in array:en i mdadm.conf
 
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
 
(eventuellt kan det inte behövas göras på vissa/nyare system, kolla så du inte har dubbletter i /etc/mdadm/mdadm.conf)
 
 
== ZFS ==
 
 
Installera de nödvändiga paketen
 
 
apt-get install build-essential gawk fakeroot linux-headers-2.6.32-5-amd64 \
 
  alien zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi git
 
 
Clona SPL, bygg och installera
 
git clone https://github.com/zfsonlinux/spl -b spl-0.6.0-rc9
 
cd spl
 
git checkout spl-0.6.0-rc9
 
./configure
 
make deb
 
dpkg -i *.deb
 
cd ..
 
 
Gör samma sak med ZFS
 
git clone https://github.com/zfsonlinux/zfs
 
cd zfs/
 
git checkout zfs-0.6.0-rc9
 
./configure --with-spl=/usr/src/spl-0.6.0-rc9/2.6.32-5-amd64
 
make deb
 
dpkg -i *.deb
 
 
Starta om datorn
 
reboot
 
 
Verifera att modulerna är laddade
 
lsmod | grep zfs
 
 
Skapa en pool som heter vicepa med raidz2 (ungefär raid6), 8 diskar och 2 hot spare.
 
zpool create -f vicepa raidz2 /dev/sd{d,f,g,h,i,j,k,l}2 spare /dev/sd{a,b}2
 
 
kolla status m.m.
 
zpool status
 
mount
 
zpool list
 
 
== LVM (gammalt) ==
 
 
Vi vill ha många partitioner, även om AFS kan hantera partitioner större än 2T så är inte all mjukvara helt ikapp på den punkten. För att inte ställa till det så vill vi ha partitioner på 2T som störst. Vi kommer få många partitioner så vi använder LVM.
 
 
Installera lvm
 
# apt-get install lvm2 xfsprogs
 
 
Förbered/formatera RAID:en för LVM
 
# pvcreate /dev/md0
 
 
Skapa en volymgrupp över hela partitionen med physical extent size satt till 64M
 
# vgcreate -s 64M vicevg0 /dev/md0
 
 
Vi har 10.81T data, det ger oss 5 volymer på 2T. 800G lämnad opartiorenat och finna att användas vid behov.
 
# vgdisplay | grep "VG Size"
 
VG Size              10.81 TiB
 
 
Vi kör en loop för att skapa de fem volymerna
 
for n in a b c d e; do lvcreate -L 2T -n vicep$n vicevg0; done
 
 
# lvs
 
LV    VG      Attr  LSize Origin Snap%  Move Log Copy%  Convert
 
vicepa vicevg0 -wi-a- 2.00t                                     
 
vicepb vicevg0 -wi-a- 2.00t                                     
 
vicepc vicevg0 -wi-a- 2.00t                                     
 
vicepd vicevg0 -wi-a- 2.00t                                     
 
vicepe vicevg0 -wi-a- 2.00t
 
 
Bygg filsystem på partitionerna, vi använder xfs.
 
for n in a b c d e; do mkfs.xfs -l size=134217728,lazy-count=1 /dev/vicevg0/vicep$n; done
 
 
Skapa mountpoints
 
for n in a b c d e; do mkdir -p /vicep$n; done
 
 
Lägg till i fstab
 
for n in a b c d e; do echo "/dev/vicevg0/vicep$n /vicep$n xfs noatime,nodiratime,logbufs=8 0 0" >> /etc/fstab; done
 
 
Montera allt
 
mount -a
 
 
Sätt lite magiska parametrar vid boot<br>
 
Några saker att notera:
 
* Jag har rc2.d för att debians vanliga runlevel är 2. Om du kör det här på ett redhat-system så vill du nog använda rc3.d.
 
* Vi har 10000 satt som sync_speed_min då vi inte vill att det ska ta för lång tid att bygga om raid:en om en disk går sönder. Vi vill inte att den ska gå sönder innan nästa disk går sönder.
 
* Att lägga filer i /etc/rc?.d/* är inte helt rätt, saker bör ligga i /etc/init.d/ men det här funkar och var lättare.
 
echo 'test -f /sys/block/md0/md/stripe_cache_size && echo 16384 > /sys/block/md0/md/stripe_cache_size' >> /etc/rc2.d/S99local
 
echo 'test -f /sys/block/md0/md/sync_speed_min && echo 10000 > /sys/block/md0/md/sync_speed_min' >> /etc/rc2.d/S99local
 
 
== Kerberos Setup ==
 
 
Vi har installerat
 
apt-get install heimdal-clients heimdal-clients-x
 
 
== AFS Setup ==
 
 
Vi har installerat följande
 
apt-get install openafs-client openafs-fileserver openafs-modules-dkms
 
 
Installera en BosConfig i /etc/openafs/ Den skall inte installeras där dokumentationen säger.
 
Den skall innehålla:
 
 
restarttime 16 0 0 0 0
 
checkbintime 16 0 0 0 0
 
bnode fs fs 1
 
parm /usr/lib/openafs/fileserver -p 23 -busyat 600 -rxpck 400 -s 1200 -l 1200 -cb 100000 -b 240 -vc 1200
 
parm /usr/lib/openafs/volserver
 
parm /usr/lib/openafs/salvager -datelogs -parallel all8 -orphans attach
 
end
 
 
Installera CellServDB  KeyFile  ThisCell  UserList i /etc/openafs/server/
 
 
CellServDB skall innehålla hemmacellsentryt (endast)
 
 
ThisCell innehåller cellnamnet
 
 
UserList och KeyFile hämtar man från en annan AFS server. KeyFile är HEMLIGT och måste hämtas på ett säkert, crypterad sätt.
 
 
Sedan klart för att starta fileservern (startskript drar igån bosserver som gör resten).
 
 
== Se även ==
 
 
* [[Mhount-Everest]]
 
  
 
[[Category: Maskiner]]
 
[[Category: Maskiner]]
 
[[Category: Filserver]]
 
[[Category: Filserver]]

Revision as of 16:58, 23 July 2015

Server named after Mho, in the Mhount namespace, Kilimanjaro being one of Seven summits.

Mount-Kilimanjaro är en filserver som vi ärvde från mho. Den har kört OpenAFS under ett par år, för information om det se rev 442 av den här sidan.

Maskinen är en AMD Athlon II X4 600e med 8Gb RAM, vilket med dagens mått gör den en trött maskin. Det är dock en av de snabbare filservrarna som vi har i dag. nsg har 2015-07-23 tagit över servern för att hosta OS disk för KVM-servrarna.

OS Install