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 [2017/04/10 20:29] – [Anlegen eines neuen Pools im Raid10 und hinzufügen zweier weiteren Festplatten] admin | server_und_serverdienste:linux_zfs [2018/03/24 20:19] – boospy | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
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. | ||
- | * Systemgrundlage: | + | * Systemgrundlage: |
* ZFSutils: 0.6.4.3 / 0.6.5-pve6~jessie | * ZFSutils: 0.6.4.3 / 0.6.5-pve6~jessie | ||
- | * Kernel: 3.10.0-10-pve / 4.2.3-2-pve | + | * Kernel: 3.10.0-10-pve / 4.2.3-2-pve / 4.10.17-4-pve |
Alles was unter diese Version liegt, ist entweder durch Bugs, oder fehlende Features wie z.B. das ZFS die Geräte per ID anspricht, nicht brauchbar. | Alles was unter diese Version liegt, ist entweder durch Bugs, oder fehlende Features wie z.B. das ZFS die Geräte per ID anspricht, nicht brauchbar. | ||
Zeile 282: | Zeile 282: | ||
| 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 | | ||
| zfs list -r -t snapshot -o name, | | zfs list -r -t snapshot -o name, | ||
| zfs get volsize v-machines/ | | zfs get volsize v-machines/ | ||
- | | zfs set volsize=32g v-machines/ | + | | zfs set volsize=32g v-machines/ |
- | | zfs create -V 5gb tank/vol| legt ein neues Dataset | + | | zfs create -V 5gb tank/vol| legt ein neues zvol mit einer maximalen Größe von 5G an \\ (Blockdevice) |
| zfs set quota=50g tank/ | | zfs set quota=50g tank/ | ||
+ | | zfs rename -p rpool/test rpool/ | ||
+ | | zfs list -o space | Speicherauslastung inkl. wie viel für Snapshots verbraucht wird | | ||
+ | | mount -t zfs -o ro v-machines/ | ||
Zeile 429: | Zeile 433: | ||
pigz -d -c / | pigz -d -c / | ||
+ | ==== Snapshot mounten und Daten rausholen ==== | ||
+ | Sehr praktisch. Um ein Snapshot zu mounten kann den normalen Mountbefehl benutzen. Z.B. | ||
+ | < | ||
+ | mount -t zfs v-machines/ | ||
+ | </ | ||
+ | Um das ganze automatisch und elegant mit ZFS zu gestalten machten den Ordner '' | ||
+ | < | ||
+ | zfs set snapdir=visible | ||
+ | </ | ||
+ | Danach wird das gewünschte Snapshot automatisch beim Zugriff auf '' | ||
Zeile 455: | Zeile 469: | ||
</ | </ | ||
+ | ===== Mit komplettem ZFSpool umziehen ===== | ||
+ | Mit einem kompletten Pool um zu ziehen ist super einfach, in Gegesatz zu nem Rsync oder ähnlichem. Zuerst macht man rekursiv ein Snapshot, danach kopiert man dem Pool auf die neuen/ | ||
+ | < | ||
+ | zfs snapshot -r oldpool@migration | ||
+ | zfs send -v -R -p oldpool@migration | ||
+ | </ | ||
===== Autoexpand ===== | ===== Autoexpand ===== | ||
Zeile 478: | Zeile 498: | ||
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: | ||
| | ||
- | sgdisk -Z /dev/sdf | + | sgdisk -Z / |
+ | sgdisk -Z -o /dev/sdf # löscht auch Partitionen | ||
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 | ||
Zeile 492: | Zeile 513: | ||
9: reserved space (8MB) | 9: reserved space (8MB) | ||
+ | |||
+ | ===== Autoreplace ===== | ||
+ | Autoreplace ersetzt automatische eine defekte Platte aus einem Zpool. Hierfür ist aber ein eingener [[http:// | ||
Zeile 523: | Zeile 547: | ||
===== Kompletten RPOOL mit Proxmox recovern ===== | ===== Kompletten RPOOL mit Proxmox recovern ===== | ||
+ | https:// | ||
+ | |||
FIXME | FIXME | ||
Zeile 539: | Zeile 565: | ||
| | ||
zpool replace | zpool replace | ||
+ | zdb --help | ||