Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
server_und_serverdienste:linux_zfs [2018/03/24 20:15] – boospy | server_und_serverdienste:linux_zfs [2019/07/20 13:38] – [Memorylimit setzen] boospy | ||
---|---|---|---|
Zeile 46: | Zeile 46: | ||
nano / | nano / | ||
options zfs zfs_arc_max=10737418240 | options zfs zfs_arc_max=10737418240 | ||
+ | | ||
+ | oder 8GB | ||
+ | 8589934592 | ||
Danach noch die initram updaten und rebooten. | Danach noch die initram updaten und rebooten. | ||
Zeile 160: | Zeile 163: | ||
errors: No known data errors | errors: No known data errors | ||
+ | Nachdem dies ein Rpool ist, danach nicht vergessen Grub auf allen hinzugefügten Platten zu installieren. | ||
===== Korrupte Daten ===== | ===== Korrupte Daten ===== | ||
Zeile 282: | Zeile 285: | ||
| mount / | | mount / | ||
| zpool import -d / | | zpool import -d / | ||
+ | | zpool import v-machines neuepoolname| importiert einen bestehenden Pool mit einem anderen Namen | | ||
| zfs list -t snapshot| zeigt alle Snapshots an | | | zfs list -t snapshot| zeigt alle Snapshots an | | ||
| zpool set listsnapshots=on rpool| zeigt bei "zfs list" auch snapshots an | | | zpool set listsnapshots=on rpool| zeigt bei "zfs list" auch snapshots an | | ||
Zeile 292: | Zeile 296: | ||
| zfs list -o space | Speicherauslastung inkl. wie viel für Snapshots verbraucht wird | | | zfs list -o space | Speicherauslastung inkl. wie viel für Snapshots verbraucht wird | | ||
| mount -t zfs -o ro v-machines/ | | mount -t zfs -o ro v-machines/ | ||
+ | | zfs set primarycache=metadata pool/ | ||
+ | |apt install zfs-auto-snapshot | [[https:// | ||
Zeile 493: | Zeile 499: | ||
- | === Autoexpand auf einem Rootpool === | + | ==== Autoexpand auf einem Rootpool |
Das ganze ist ein wenig komplizierter da man die GPT Bootpartion beachten muss. Zuerst erstellt auf der neuen getauschten Disk eine GPT Partition: | Das ganze ist ein wenig komplizierter da man die GPT Bootpartion beachten muss. Zuerst erstellt auf der neuen getauschten Disk eine GPT Partition: | ||
Zeile 501: | Zeile 507: | ||
sgdisk -a1 -n1:34:2047 -t1:EF02 -n9:-8M:0 -t9:BF07 -n2:2048:0 -t2:BF01 -c 2:zfs /dev/sdf | sgdisk -a1 -n1:34:2047 -t1:EF02 -n9:-8M:0 -t9:BF07 -n2:2048:0 -t2:BF01 -c 2:zfs /dev/sdf | ||
zpool replace rpool 10714300945297318711 sdf2 | zpool replace rpool 10714300945297318711 sdf2 | ||
- | grub-intall | + | grub-install |
Das natürlich mit jeder Platte wiederholen. | Das natürlich mit jeder Platte wiederholen. | ||
Zeile 512: | Zeile 518: | ||
9: reserved space (8MB) | 9: reserved space (8MB) | ||
+ | |||
+ | ==== Umwandeln eines Rpool Singledisk in einen Mirror inkl. Autoexpand ==== | ||
+ | Annahme ist hier ein Rpool mit einer Samsung EVO750. Da die Disk nicht Enterprise ist und das Wearoutlevel schon bei 90% ist, fügen wir eine Samsung SM863a als Mirror hinzu. Dann können wir beim Ausfall der EVO bequem eine weitere SM863a hinzufügen. Der zeitiger Status ist: | ||
+ | < | ||
+ | zpool status | ||
+ | pool: rpool | ||
+ | | ||
+ | scan: scrub repaired 0B in 0h3m with 0 errors on Sun Oct 14 00:27:05 2018 | ||
+ | config: | ||
+ | |||
+ | NAME STATE READ WRITE CKSUM | ||
+ | rpool | ||
+ | sda2 ONLINE | ||
+ | </ | ||
+ | Rpool' | ||
+ | Wir haben nun unsere neue SSD in's laufende System gehängt. Diese scheint mit '' | ||
+ | < | ||
+ | sgdisk -a1 -n1:34:2047 -t1:EF02 -n9:-8M:0 -t9:BF07 -n2:2048:0 -t2:BF01 -c 2:zfs /dev/sdb | ||
+ | Setting name! | ||
+ | partNum is 1 | ||
+ | REALLY setting name! | ||
+ | The operation has completed successfully. | ||
+ | </ | ||
+ | Mit '' | ||
+ | < | ||
+ | partx -s /dev/sdb | ||
+ | NR | ||
+ | | ||
+ | | ||
+ | 9 468845710 468862094 | ||
+ | </ | ||
+ | Nun können wir die neue Disk zu unserer alten dazu hängen: | ||
+ | < | ||
+ | zpool attach | ||
+ | Make sure to wait until resilver is done before rebooting. | ||
+ | </ | ||
+ | Nach erfolgreichen resilvern, sieht unser Pool nun so aus: | ||
+ | < | ||
+ | zpool status | ||
+ | pool: rpool | ||
+ | | ||
+ | scan: resilvered 31,9G in 0h2m with 0 errors on Mon Nov 5 17:02:53 2018 | ||
+ | config: | ||
+ | |||
+ | NAME STATE READ WRITE CKSUM | ||
+ | rpool | ||
+ | mirror-0 | ||
+ | sda2 ONLINE | ||
+ | sdb2 ONLINE | ||
+ | |||
+ | errors: No known data errors | ||
+ | </ | ||
+ | Danach noch Grub installieren und fertig. | ||
+ | < | ||
+ | grub-install /dev/sdb | ||
+ | </ | ||
+ | Nachdem wir dann später mal die EVO getauscht haben, wird der Pool automatisch auf die 240GB vergrößert. | ||
+ | |||
===== Autoreplace ===== | ===== Autoreplace ===== | ||
Zeile 550: | Zeile 614: | ||
FIXME | FIXME | ||
+ | ===== sharenfs ===== | ||
+ | Nutzt man ZFS als Dateisystem ist es klug die " | ||
+ | < | ||
+ | zfs create testpool/ | ||
+ | </ | ||
+ | Für IPV6 können als Source nur mehr FQDN verwendet werden. | ||
+ | |||
+ | Bei einem bestehenden Dataset: | ||
+ | < | ||
+ | zfs set sharenfs=" | ||
+ | </ | ||
+ | Für eine einfache Freigabe: | ||
+ | < | ||
+ | zfs set sharenfs=on testpool/ | ||
+ | </ | ||
+ | Um eine Freigabe zu beenden: | ||
+ | < | ||
+ | zfs set sharenfs=off testpool/ | ||
+ | </ | ||
+ | Das Dataset löschen, löscht natürlich auch die Freigabe. | ||
+ | Um zu sehen welche Freigaben nun aktiv sind gibt es mehrere Möglichkeiten. Am Host selbst: | ||
+ | < | ||
+ | cat / | ||
+ | </ | ||
+ | < | ||
+ | zfs get sharenfs # kann auch mit weiteren Optionen kombiniert werden | ||
+ | </ | ||
+ | Von einem anderen Host: | ||
+ | < | ||
+ | showmount | ||
+ | </ | ||
+ | |||
+ | ===== Swap ===== | ||
+ | Swap direkt auf ZFS erstellen. Empfohlen, genug RAM, oder Swap auf einem nicht ZFS-Filesystem. | ||
+ | < | ||
+ | zfs create -V 8G -b $(getconf PAGESIZE) -o compression=zle -o logbias=throughput -o sync=always -o primarycache=metadata -o secondarycache=none -o com.sun: | ||
+ | </ | ||
===== Links ===== | ===== Links ===== | ||
Zeile 558: | Zeile 659: | ||
* [[https:// | * [[https:// | ||
* [[http:// | * [[http:// | ||
+ | * [[http:// | ||