ZFS in een VM onder Hyper-V:
Bij deze een handleiding voor hoe ik ZFS on Linux in Ubuntu op een Windows Server 2012 Hyper-V installatie werkend heb gekregen.
Ik gebruik mijn eigen situatie als voorbeeld, ik heb een 160GB SSD welke ik als L2ARC cache wilde inzetten, en 5*3TB WD RED welke ik in een raidz1 pool wilde stoppen.
Geen domein, geen andere rare fratsen gewoon een basic fileserver voor thuismisbruik
Maak op je Hyper-V een nieuwe VM aan, en installeer deze met de servervariant van Ubuntu, zelf heb ik 12.04 LTS gebruikt.
Na het installeren van Ubuntu sluit je deze af, en pas je de configuratie van je VM aan, ZFS houdt van geheugen dus geef in ieder geval rond de 3 a 4 GB aan deze VM. Zet in de diskmanager van win2012 de schijven die je wilt doorgeven aan de VM op offline, en wijs deze schijven toe op een scsi-controller in de VM. (let op dit toewijzen lukt alleen vanaf de server waar de schijven fysiek in aanwezig zijn).
Nadat je de Ubuntu server opnieuw hebt opgestart voer je de volgende commando's uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # als eerst de server updaten
sudo apt-get -y -q update && sudo apt-get -y -q upgrade
# nu hebben we python nodig om een repository toe te voegen
sudo apt-get install python-software-properties
# nu gaan we de ZFS repo toevoegen en ZFS installeren.
sudo add-apt-repository ppa:zfs-native/stable
sudo apt-get update
sudo apt-get install ubuntu-zfs
# ff testen of ZFS het doet
sudo zpool
sudo zfs
# vervolgens kunnen we de pool aanmaken maar eerst ff kijken hoe onze schijven heten
fdisk -l
# pro-tip je kunt met shift+pgup en pgdown "scrollen" in het terminal scherm |
Ik had zelf schijfnamen /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf en /dev/sdg
Aan het formaat kon ik afleiden wat welke schijf was. de sda's waren de VMhd's deze had ik niet nodig omdat ik het prima vond dat Ubuntu zelf niet op een ZFS partitie draaide.
sdb was de SSD schijf
sdc t/m sdg waren de 3TB WD RED's
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # we gaan verder met het aanmaken van de pool met cache en het filesystem
# ik noem mijn pool hier storage, dit kun je ook een andere naam geven
# het filesystem noem ik homeshare, deze ga ik later delen naar mijn win servers
# en assortiment win7 en win8 pc's
sudo zpool create storage raidz /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg
sudo zpool add storage cache /dev/sdb
sudo zfs create homeshare
# ik kwam vervolgens problemen tegen met het aanmaken van shares, en ze lees en schrijfbaar maken,
# dus ik sla een stukje frustratie over en zet hier wat ik gedaan heb
sudo chmod -R 777 /storage
# vervolgens hebben we Samba nodig om een share aan te maken voor windows
sudo apt-get install samba smbfs
# Samba moete we configureren, dat doen we als volgt;
sudo nano /etc/samba/smb.conf |
Ik kwam hier in een tekst editor welke ik niet geweldig vond maar wel mee kon werken, ik heb het smb.conf bestand aangepast totdat ik het volgende overhield (alles verwijderd dus behalve onderstaande)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| [global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
dns proxy = no
name resolve order = bcast lmhosts host
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *enter\snew\s*\spassword:* %n\n *retype\snew\s*\spassword:* %n\n *password\supdate$
pam password change = yes
map to guest = bad user
[HomeShare]
comment = ZFS dataschijf
path = storage/homeshare
browsable = yes
read only = no
guest ok = yes
writable = yes
# bestand sluiten met ctrl-X en opslaan. hierna de laatste stap....
# samba opnieuw starten zodat de config geladen wordt
sudo service smbd restart |
Ik weet niet van alle settings wat ze precies doen, maar ik dacht dat ze ook niet zoveel kwaad konden, en dit ruimde de boel lekker op en maakte het wat leesbaarder, het originele bestand bevatte meer commentaar en uitleg dan daadwerkelijke instellingen, en ik had bijna niets nodig voor mijn implementatie.
Hierna had ik vanaf al mijn computers een ZFS share beschikbaar onder de naam HomeShare en ik ben nu 4TB aan data hiernaartoe aan het migreren.
kopiëren gaat op het moment met ongeveer 120 MB per seconde, leessnelheden heb ik nog niet getest.
PS.
Ik hoop dat mensen hier wat aan hebben, en zo geef ik ook nog eens iets terug aan de community