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/06/26 08:59] – [Anlegen eines neuen Pools im RaidZ10 (entspricht Raid50)] boospy | server_und_serverdienste:linux_zfs [2021/03/04 15:47] – lois | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
====== Linux ZFS ====== | ====== Linux ZFS ====== | ||
+ | Hauseigenes Apt-Repo: [[https:// | ||
+ | \\ | ||
+ | \\ | ||
ZFS (ursprünglich Zettabyte File System) wird oft als Dateisystem angesehen, was im Grunde genommen ein Missverständnis darstellt. ZFS kann ein Dateisystem sein, aber beherrscht auch noch einiges mehr. Es vereint die Funktionalität eines Logical Volume Managers und eines Software-RAID mit einem Copy-on-Write-Dateisystem (COW). Das heißt, dass es (aufgrund seiner Kenntnisse der Festplattenbelegung) effizienter als jedes Hardware-RAID arbeitet, Daten-Integrität per Transaktionen ähnlich wie bei relationalen Datenbanken sichert und im Falle von Daten-Redundanz (Mehrfachspeicherung) sogar selbständig Daten repariert. | ZFS (ursprünglich Zettabyte File System) wird oft als Dateisystem angesehen, was im Grunde genommen ein Missverständnis darstellt. ZFS kann ein Dateisystem sein, aber beherrscht auch noch einiges mehr. Es vereint die Funktionalität eines Logical Volume Managers und eines Software-RAID mit einem Copy-on-Write-Dateisystem (COW). Das heißt, dass es (aufgrund seiner Kenntnisse der Festplattenbelegung) effizienter als jedes Hardware-RAID arbeitet, Daten-Integrität per Transaktionen ähnlich wie bei relationalen Datenbanken sichert und im Falle von Daten-Redundanz (Mehrfachspeicherung) sogar selbständig Daten repariert. | ||
Zeile 41: | Zeile 43: | ||
===== Memorylimit setzen ===== | ===== Memorylimit setzen ===== | ||
+ | Genaue Info zu den aktuellen Werten bekommt man mit: | ||
+ | arcstat | ||
+ | oder | ||
+ | arc_summary | ||
Wenn man möchte kann man ZFS ein Memorylimit setzten. | Wenn man möchte kann man ZFS ein Memorylimit setzten. | ||
Zeile 46: | Zeile 52: | ||
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 496: | Zeile 505: | ||
- | === 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 504: | Zeile 513: | ||
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 515: | Zeile 524: | ||
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 584: | Zeile 651: | ||
showmount | 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 ===== | ||