Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux Mint ΠΈ Π΅Π³ΠΎ Cinnamon. ΠžΡ‡Π΅Ρ€ΠΊΠΈ примСнитСля». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 89

Автор АлСксСй Π€Π΅Π΄ΠΎΡ€Ρ‡ΡƒΠΊ

А Π²ΠΎΡ‚ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… физичСских устройств, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π² ΠΏΡƒΠ», слСдуСт ΡΠΊΠ°Π·Π°Ρ‚ΡŒ особо.

МодСли имСнования устройств

Π’ соврСмСнном Linux’С использованиС для Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈΠΌΡ‘Π½ Β«Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня», ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π²ΠΈΠ΄ /dev/sda, Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π° Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΈ просто Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Однако ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° устройств udev ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ:

   β€’ ΠΌΠ΅Ρ‚ΠΊΠ΅ Ρ‚ΠΎΠΌΠ° (/dev/disk/by-label);

   β€’ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ диска (/dev/disk/by-id);

   β€’ ΠΏΡƒΡ‚ΠΈ ΠΊ дисковому устройству (/dev/disk/by-path);

   β€’ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ, Universally Unique IDentifier (/dev/disk/by-uuid).

А с ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ, просмотрСв ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /dev/disk, ΠΈΡ… содСрТимоС β€” это символичСскиС ссылки Π½Π° ΠΈΠΌΠ΅Π½Π° Β«Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня».

Π‘ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΊΠ΅ Ρ‚ΠΎΠΌΠ° ΠΈ ΠΏΠΎ UUID, вСроятно, Π·Π½Π°ΠΊΠΎΠΌΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ. И ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² пространствС ΠΈΠΌΡ‘Π½ ZFS ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. А Π²ΠΎΡ‚ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ by-path ΠΈ by-id Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅.

МодСль имСнования by-path ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Π½Π° устройств, привязанныС ΠΊ ΠΈΡ… полоТСнию Π½Π° шинС PCI ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€ ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΊΠ°Π½Π°Π»Π° Π½Π° Π½Π΅ΠΉ. Имя дискового устройства выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

pci-0000:00:1f.2-scsi-0:0:0:0

ДисковыС Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ устройства суффикса part#.

МодСль имСнования by-path ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ устройства Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ, ΠΈ особСнно эффСктивна ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ дискового ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Однако сами ΠΈΠΌΠ΅Π½Π° ΠΈ устройств, ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ довольно слоТной для восприятия ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π”Π° ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ «дСсктопных» ситуаций модСль эта ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Π°.

МодСль ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ by-id прСдставляСт ΠΈΠΌΠ΅Π½Π° носитСлСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступной для чСловСчСского понимания. Они ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ· названия интСрфСйса, ΠΈΠΌΠ΅Π½ΠΈ производитСля, Π½ΠΎΠΌΠ΅Ρ€Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, сСрийного Π½ΠΎΠΌΠ΅Ρ€Π° устройства ΠΈ, ΠΏΡ€ΠΈ нСобходимости, Π½ΠΎΠΌΠ΅Ρ€Π° Ρ€Π°Π·Π΄Π΅Π»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ata-SanDisk_SDSSDX120GG25_120823400863-part1

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠΌΠ΅Π½ΠΈ устройства Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ by-id ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π΅ условиями Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Π° Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈ Тёстко ΠΏΡ€ΠΎΡˆΠΈΡ‚Ρ‹ Π² Β«ΠΆΠ΅Π»Π΅Π·Π΅Β». И ΠΏΠΎΡ‚ΠΎΠΌΡƒ эта модСль являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ для имСнования устройств. А Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ, строится ΠΏΠΎ понятной Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π»ΠΎΠ³ΠΈΠΊΠ΅.

ΠšΠ°ΠΊΡƒΡŽ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ имСнования устройств Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ»Π° β€” зависит ΠΎΡ‚ Π΅Π³ΠΎ назначСния ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΎΠ². ИмСна Β«Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня» цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для однодисковых ΠΏΡƒΠ»ΠΎΠ² (особСнно Ссли Π² машинС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ диска Π½Π΅Ρ‚ ΠΈ Π½Π΅ прСдвидится). Они ΠΆΠ΅, ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ простоты ΠΈ удобопонятности, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ΡΡ для ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡƒΠ»ΠΎΠ². И ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ΡΡ β€” Π²ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ зависят ΠΎΡ‚ условий ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ.

Π­Ρ‚ΠΎΠ³ΠΎ нСдостатка лишСна модСль by-id: ΠΊΠ°ΠΊ ΠΏΠΈΡˆΠ΅Ρ‚ Π‘Ρ€Π°ΠΉΠ°Π½, ΠΏΡ€ΠΈ Π΅Ρ‘ использовании «диски ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, случайно ΡΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ β€” ΠΈ ΠΏΡƒΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΒ». Как нСдостаток Π΅Ρ‘ рассматриваСтся ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ конфигурирования Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡƒΠ»ΠΎΠ² с ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ. И ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΎΠ½Π° рСкомСндуСтся для примСнСния Π² «дСсктопных» ΠΈ Β«ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π½Ρ‹Ρ…Β» (Ρ‚ΠΈΠΏΠ° сСмСйного сСрвСра) условиях.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… (Π±ΠΎΠ»Π΅Π΅ 10 устройств) ΠΏΡƒΠ»ΠΎΠ² ΠΈΠ· дисков, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… ΠΊ нСскольким ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ, рСкомСндуСтся идСнтификация by-path. Однако Π² Π½Π°ΡˆΠΈΡ… цСлях ΠΎΠ½Π° Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠ° ΠΈ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Π°.

НаконСц, ZFS on Linux ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ модСль ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ β€” /dev/disk/zpool, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ by-path ставятся Π² соотвСтствиС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ осмыслСнныС Β«Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅Β» ΠΈΠΌΠ΅Π½Π°, Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. МодСль эта рСкомСндуСтся для ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡƒΠ»ΠΎΠ², ΠΊΠ°ΠΊΠΎΠ²Ρ‹Ρ… Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ машинС ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ дальшС я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Β«Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня», говоря ΠΎΠ± абстрактных ΠΈΠ»ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ситуациях, ΠΈ ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… by-id, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ Π·Π°ΠΉΠ΄Ρ‘Ρ‚ ΠΎ практичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… примСнСния ZFS.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ZFS Π² Mint

Для практичСского использования ZFS on Linux ΠΏΠ΅Ρ€Π²ΠΎ-Π½Π°ΠΏΠ΅Ρ€Π²ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² вашСм дистрибутивС β€” ΠΈΠ±ΠΎ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, описанным Ρ€Π°Π½Π΅Π΅, сама собой ΠΎΠ½Π° Π½Π΅ поддСрТится Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Linux’С.

Как это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, зависит ΠΎΡ‚ дистрибутива. Π’ Π‘Π΅Ρ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ инструкции для Ubuntu, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° всС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΎΡ‚ Π½Π΅Ρ‘ систСмы, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π½Π° Mint.

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ZFS прСдставлСны Π² PPA-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ сцСнариСв dkms, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… сборку ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ядра. ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ эти ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΌΠ΅Ρ‚Π°ΠΏΠ°ΠΊΠ΅Ρ‚ zfs-native, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° β€” ZFS Stable Releases ΠΈ ZFS Daily Releases, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈ тСстовой сборках, соотвСтствСнно.

Для использования ZFS Π² Ubuntu для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ PPA-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΡ€Π°Π² ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ΅Ρ€Π²ΠΎ-Π½Π°ΠΏΠ΅Ρ€Π²ΠΎ ΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅ΠΌ ΠΈΡ… Π½Π° Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

$ sudo -i

с Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ пароля. А Π·Π°Ρ‚Π΅ΠΌ собствСнно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

# add-apt-repository ppa:zfs-native/stable

Или, ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ --

# add-apt-repository ppa:zfs-native/daily

ОбновляСм кэш:

# apt update

Π’Π΅ΠΏΠ΅Ρ€ΡŒ строим Π΄Π΅Ρ€Π΅Π²ΠΎ зависимостСй β€” Π² Mint 17.1 Rebecca это ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг, хотя Ρ€Π°Π½Π΅Π΅ я обходился Π±Π΅Π· Π½Π΅Π³ΠΎ:

# apt build-dep ubuntu-zfs

И собираСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

# apt install ubuntu-zfs

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΎΠ½ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π° Π² Π²ΠΈΠ΄Π΅ исходников, привСдённая ΠΊΠΎΠΌΠ°Π½Π΄Π° потянСт Π·Π° собой сборочный инструмСнтарий. И сама сборка ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π·Π°ΠΉΠΌΡ‘Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя. Но Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΎΠ½Π° закончится, ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ

# modprobe zfs

ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

# lsmod | grep zfs

Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

zfs                  1158757  4

zcommon                51283  1 zfs

znvpair                81997  2 zfs,zcommon

zavl                   15011  1 zfs

zunicode              331226  1 zfs

spl                    88617  5 zfs,zcommon,znvpair,zavl,zunicode

ПослС Ρ‡Π΅Π³ΠΎ остаётся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ монтирования для ΠΏΡƒΠ»Π° ZFS β€” Π² ΠΌΠΎΡ‘ΠΌ случаС Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

# mkdir /home/data

Π”Π°Ρ‚ΡŒ Π΅ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ принадлСТности ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ:

# chown -R alv:alv /home/data

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ZFS Π² ΠΌΠΈΡ€Π½Ρ‹Ρ… практичСских цСлях.

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ простой ΠΏΡƒΠ»

Освоив Ρ€Π°Π½Π΅Π΅ основныС понятия, ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ZFS. Для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ZFS ΠΏΠΎΠ½ΠΈΠΌΠ°Π»Π° нас β€” Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΅Ρ‘ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Π“Π»Π°Π²Π½Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… β€” Π΄Π²Π΅: zpool для создания ΠΈ управлСния ΠΏΡƒΠ»Π°ΠΌΠΈ, ΠΈ zfs для создания ΠΈ управлСния Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. НСмного, ΠΏΡ€Π°Π²Π΄Π°? Π₯отя каТдая ΠΈΠ· этих ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ мноТСство субкоманд, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ разбСрёмся.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ZFS слСдуСт Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с создания ΠΏΡƒΠ»Π° хранСния. Начнём с этого ΠΈ ΠΌΡ‹. Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС однодисковой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ это дСлаСтся Ρ‚Π°ΠΊ:

# zpool create tank dev_name

Π—Π΄Π΅ΡΡŒ create β€” субкоманда ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ назначня, tank β€” имя создаваСмого ΠΏΡƒΠ»Π° (ΠΎΠ½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ даётся Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ β€” с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ZFS, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ имя data), Π° dev_name β€” имя устройства, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΡƒΠ». КаковоС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΡΡ ΠΏΠΎ любой ΠΈΠ· описанных Ρ€Π°Π½Π΅Π΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. И, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ, напомню: всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ манипуляции с ΠΏΡƒΠ»Π°ΠΌΠΈ ΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΡ‚ Π»ΠΈΡ†Π° администратора.

Π’ случаС, Ссли Π² состав ΠΏΡƒΠ»Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ диск, ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ прСдвидится, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ имя устройства Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, sda для Ρ†Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ устройства (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ устройства ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ). Однако Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ такая ситуация маловСроятна: Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° с ZFS ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ потрСбуСтся Ρ€Π°Π·Π΄Π΅Π» с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΏΠΎΠ΄ /boot (ΠΈ/ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ ΠΊΠΎΡ€Π΅Π½ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄ Π²Ρ€ΠΎΠ΄Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ:

# zpool create data sda3

Однако Ссли ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ Π² дальнСйшСм подсоСдинСния Π½ΠΎΠ²Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΈΡ… Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ», Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ by-id, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

# zpool create data ata-Crucial_CT512MX100SSD1_14330CEEA98C-part3

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² случаС однодискового ΠΏΡƒΠ»Π° Π½ΠΈ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ избыточности Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π΅ приходится. Однако ΡƒΠΆΠ΅ ΠΏΡ€ΠΈ Π΄Π²ΡƒΡ… дисках Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ β€” созданиС ΠΏΡƒΠ»Π° Π±Π΅Π· избыточности:

# zpool create data dev_name1 dev_name2

Π³Π΄Π΅ dev_name1 ΠΈ dev_name1 β€” ΠΈΠΌΠ΅Π½Π° устройств Π² принятой ΠΌΠΎΠ΄Π΅Π»ΠΈ имСнования.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создано Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ RAID’а Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ уровня, с расщСплСниСм (stripping) Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ±Π° устройства. ΠšΠ°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ дисковыС Ρ€Π°Π·Π΄Π΅Π»Ρ‹, Ρ‚Π°ΠΊ ΠΈ диски Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ RAID0, диски (ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π»Ρ‹) Π½Π΅ обязаны Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ПослС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сообщСний Π½Π΅ послСдуСт. No news β€” good news, говорят Π°Π½Π³Π»ΠΈΡ‡Π°Π½Π΅; Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡƒΠ» Π±Ρ‹Π» Π±Π»Π°Π³ΠΎΠΏΠΎΠ»ΡƒΡ‡Π½ΠΎ создан. Π’ Ρ‡Ρ‘ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ двумя способами. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ появляСтся Ρ‚ΠΎΡ‡ΠΊΠ° Π΅Π³ΠΎ монтирования /data. А Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, этой Ρ†Π΅Π»ΠΈ послуТит субкоманда status: # zpool status data

которая Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого: