git: 7269df3b49 - main - update translation of books/handbook/zfs to Russian
Vladlen Popolitov <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.doc |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=7269df3b49ea141ef5e66a2106745d11ea9b8931 commit 7269df3b49ea141ef5e66a2106745d11ea9b8931 Author: Vladlen Popolitov <[email protected]> AuthorDate: 2026-08-12 14:08:48 +0000 Commit: Vladlen Popolitov <[email protected]> CommitDate: 2026-08-12 14:08:48 +0000 update translation of books/handbook/zfs to Russian Differential Revision: https://reviews.freebsd.org/D58794 --- .../content/ru/books/handbook/zfs/_index.adoc | 2051 ++- .../content/ru/books/handbook/zfs/_index.po | 14483 +++++++++++++------ 2 files changed, 11575 insertions(+), 4959 deletions(-) diff --git a/documentation/content/ru/books/handbook/zfs/_index.adoc b/documentation/content/ru/books/handbook/zfs/_index.adoc index b296f93b6c..3ad8d280ee 100644 --- a/documentation/content/ru/books/handbook/zfs/_index.adoc +++ b/documentation/content/ru/books/handbook/zfs/_index.adoc @@ -7,7 +7,7 @@ part: 'ЧаÑÑÑ III. ÐдминиÑÑÑиÑование ÑиÑÑемÑ' prev: books/handbook/geom showBookMenu: 'true' tags: ["ZFS", "filesystem", "administration", "zpool", "features", "terminology", "RAID-Z"] -title: 'Ðлава 22. Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема Z (ZFS)' +title: 'Ðлава 23. Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема Z (ZFS)' weight: 26 --- @@ -18,7 +18,7 @@ weight: 26 :toclevels: 1 :icons: font :sectnums: -:sectnumoffset: 22 +:sectnumoffset: 23 :partnums: :source-highlighter: rouge :experimental: @@ -50,7 +50,7 @@ endif::[] ZFS â ÑÑо пÑодвинÑÑÐ°Ñ ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема, ÑазÑабоÑÐ°Ð½Ð½Ð°Ñ Ð´Ð»Ñ ÑеÑÐµÐ½Ð¸Ñ Ð¾ÑновнÑÑ Ð¿Ñоблем, пÑиÑÑÑÐ¸Ñ Ð¿ÑедÑдÑÑÐµÐ¼Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ð½Ð¾Ð¼Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÑиÑÑем Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . -ÐеÑвонаÑалÑно ÑазÑабоÑÐ°Ð½Ð½Ð°Ñ Ð² Sun(TM), далÑнейÑÐ°Ñ ÑазÑабоÑка оÑкÑÑÑой веÑÑии ZFS пеÑемеÑÑилаÑÑ Ð² http://open-zfs.org[пÑÐ¾ÐµÐºÑ OpenZFS]. +ÐеÑвонаÑалÑно ÑазÑабоÑÐ°Ð½Ð½Ð°Ñ Ð² Sun Microsystems(TM), далÑнейÑÐ°Ñ ÑазÑабоÑка оÑкÑÑÑой веÑÑии ZFS пеÑемеÑÑилаÑÑ Ð² https://openzfs.org[пÑÐ¾ÐµÐºÑ OpenZFS]. ZFS Ð¸Ð¼ÐµÐµÑ ÑÑи оÑновнÑе Ñели пÑоекÑиÑованиÑ: @@ -58,29 +58,26 @@ ZFS Ð¸Ð¼ÐµÐµÑ ÑÑи оÑновнÑе Ñели пÑоекÑиÑованиÑ: * ÐбÑединенное Ñ ÑанилиÑе: добавление ÑизиÑеÑÐºÐ¸Ñ ÑÑÑÑойÑÑв Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð² пÑл и вÑделение пÑоÑÑÑанÑÑва из ÑÑого обÑего пÑла. ÐÑоÑÑÑанÑÑво доÑÑÑпно Ð´Ð»Ñ Ð²ÑÐµÑ ÑайловÑÑ ÑиÑÑем и Ñомов и ÑвелиÑиваеÑÑÑ Ð·Ð° ÑÑÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²ÑÑ ÑÑÑÑойÑÑв Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð² пÑл. * ÐÑоизводиÑелÑноÑÑÑ: Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ñ ÐºÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÐµÑпеÑиваÑÑ Ð¿Ð¾Ð²ÑÑеннÑÑ Ð¿ÑоизводиÑелÑноÑÑÑ. crossref:zfs[zfs-term-arc,ARC] â ÑÑо пÑодвинÑÑÑй кÑÑ Ð´Ð»Ñ ÑÑениÑ, оÑнованнÑй на опеÑаÑивной памÑÑи. ZFS пÑедоÑÑавлÑÐµÑ Ð²ÑоÑой ÑÑÐ¾Ð²ÐµÐ½Ñ ÐºÑÑа Ð´Ð»Ñ ÑÑÐµÐ½Ð¸Ñ Ð½Ð° оÑнове диÑка â crossref:zfs[zfs-term-l2arc,L2ARC], а Ñакже кÑÑ Ð´Ð»Ñ ÑÐ¸Ð½Ñ Ñонной запиÑи на оÑнове диÑка под названием crossref:zfs[zfs-term-zil,ZIL]. -ÐолнÑй ÑпиÑок возможноÑÑей и ÑеÑминологии пÑиведен в crossref:zfs[zfs-term, ÐÑобенноÑÑи и ÑеÑÐ¼Ð¸Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ ZFS]. +ÐолнÑй ÑпиÑок возможноÑÑей и ÑеÑминологии пÑиведÑн в crossref:zfs[zfs-term, ÐÑобенноÑÑи и ÑеÑÐ¼Ð¸Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ ZFS]. [[zfs-differences]] == ЧÑо оÑлиÑÐ°ÐµÑ ZFS Ð¾Ñ Ð´ÑÑÐ³Ð¸Ñ -ZFS â ÑÑо не пÑоÑÑо ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема, она пÑинÑипиалÑно оÑлиÑаеÑÑÑ Ð¾Ñ ÑÑадиÑионнÑÑ ÑайловÑÑ ÑиÑÑем. ÐбÑединение ÑÑадиÑионно ÑазделеннÑÑ Ñолей менеджеÑа Ñомов и Ñайловой ÑиÑÑÐµÐ¼Ñ Ð´Ð°ÑÑ ZFS ÑникалÑнÑе пÑеимÑÑеÑÑва. ТепеÑÑ ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема оÑведомлена о ÑÑÑÑкÑÑÑе нижележаÑÐ¸Ñ Ð´Ð¸Ñков. ТÑадиÑионнÑе ÑайловÑе ÑиÑÑÐµÐ¼Ñ Ð¼Ð¾Ð³Ð»Ð¸ ÑÑÑеÑÑвоваÑÑ ÑолÑко на одном диÑке. ÐÑли бÑло два диÑка, пÑÐ¸Ñ Ð¾Ð´Ð¸Ð»Ð¾ÑÑ ÑоздаваÑÑ Ð´Ð²Ðµ оÑделÑнÑе ÑайловÑе ÑиÑÑемÑ. ТÑадиÑÐ ¸Ð¾Ð½Ð½Ð°Ñ конÑигÑÑаÑÐ¸Ñ Ð°Ð¿Ð¿Ð°ÑаÑного RAID ÑеÑала ÑÑÑ Ð¿ÑоблемÑ, пÑедоÑÑавлÑÑ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑеме один логиÑе Ñкий диÑк, ÑоÑÑоÑÑий из пÑоÑÑÑанÑÑва ÑизиÑеÑÐºÐ¸Ñ Ð´Ð¸Ñков, повеÑÑ ÐºÐ¾ÑоÑого опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема ÑазмеÑала ÑайловÑÑ ÑиÑÑемÑ. Ðаже в пÑогÑаммнÑÑ ÑеÑениÑÑ RAID, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº пÑедоÑÑавлÑемÑе GEOM, ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема UFS, Ð½Ð°Ñ Ð¾Ð´ÑÑаÑÑÑ Ð¿Ð¾Ð²ÐµÑÑ RAID, ÑÑиÑаеÑ, ÑÑо ÑабоÑÐ°ÐµÑ Ñ Ð¾Ð´Ð½Ð¸Ð¼ ÑÑÑÑойÑÑвом. ÐомбинаÑÐ¸Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑа Ñомов и Ñайловой ÑиÑÑÐµÐ¼Ñ Ð² ZFS ÑеÑÐ°ÐµÑ ÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸ позволÑÐµÑ ÑоздаваÑÑ ÑайловÑе ÑиÑÑемÑ, коÑоÑÑе ÑовмеÑÑно иÑполÑзÑÑÑ Ð¾Ð±Ñий пÑл доÑÑÑпного Ñ ÑаР½Ð¸Ð»Ð¸Ñа. Ðдно из болÑÑÐ¸Ñ Ð¿ÑеимÑÑеÑÑв оÑведомленноÑÑи ZFS о ÑизиÑеÑкой ÑÑÑÑкÑÑÑе диÑков заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо ÑÑÑеÑÑвÑÑÑие ÑайловÑе ÑиÑÑÐµÐ¼Ñ Ð°Ð²ÑомаÑиÑеÑки ÑаÑÑиÑÑÑÑÑÑ Ð¿Ñи добавлении дополниÑелÑнÑÑ Ð´Ð¸Ñков в пÑл. ÐÑо новое пÑоÑÑÑанÑÑво ÑÑановиÑÑÑ Ð´Ð¾ÑÑÑпнÑм Ð´Ð»Ñ ÑайловÑÑ ÑиÑÑем. ZFS Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑименÑÑÑ ÑазнÑе ÑвойÑÑва к каждой Ñайловой ÑиÑÑеме. ÐÑо Ð´ÐµÐ»Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм Ñоздание оÑделÑнÑÑ ÑайловÑÑ ÑиÑÑем и набоÑов даннÑÑ Ð²Ð¼ÐµÑÑо единой монолиÑной Ñайловой ÑиÑÑемÑ. +ZFS â ÑÑо не пÑоÑÑо ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема, она пÑинÑипиалÑно оÑлиÑаеÑÑÑ Ð¾Ñ ÑÑадиÑионнÑÑ ÑайловÑÑ ÑиÑÑем. ÐбÑединение ÑÑадиÑионно ÑазделÑннÑÑ Ñолей менеджеÑа Ñомов и Ñайловой ÑиÑÑÐµÐ¼Ñ Ð´Ð°ÑÑ ZFS ÑникалÑнÑе пÑеимÑÑеÑÑва. ТепеÑÑ ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема оÑведомлена о ÑÑÑÑкÑÑÑе нижележаÑÐ¸Ñ Ð´Ð¸Ñков. ТÑадиÑионнÑе ÑайловÑе ÑиÑÑÐµÐ¼Ñ Ð¼Ð¾Ð³Ð»Ð¸ ÑÑÑеÑÑвоваÑÑ ÑолÑко на одном диÑке. ÐÑли бÑло два диÑка, пÑÐ¸Ñ Ð¾Ð´Ð¸Ð»Ð¾ÑÑ ÑоздаваÑÑ Ð´Ð²Ðµ оÑделÑнÑе ÑайловÑе ÑиÑÑемÑ. ТÑадиÑÐ ¸Ð¾Ð½Ð½Ð°Ñ конÑигÑÑаÑÐ¸Ñ Ð°Ð¿Ð¿Ð°ÑаÑного RAID ÑеÑала ÑÑÑ Ð¿ÑоблемÑ, пÑедоÑÑавлÑÑ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑеме один логиÑе Ñкий диÑк, ÑоÑÑоÑÑий из пÑоÑÑÑанÑÑва ÑизиÑеÑÐºÐ¸Ñ Ð´Ð¸Ñков, повеÑÑ ÐºÐ¾ÑоÑого опеÑаÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑиÑÑема ÑазмеÑала ÑайловÑÑ ÑиÑÑемÑ. Ðаже в пÑогÑаммнÑÑ ÑеÑениÑÑ RAID, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº пÑедоÑÑавлÑемÑе GEOM, ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема UFS, Ð½Ð°Ñ Ð¾Ð´ÑÑаÑÑÑ Ð¿Ð¾Ð²ÐµÑÑ RAID, ÑÑиÑаеÑ, ÑÑо ÑабоÑÐ°ÐµÑ Ñ Ð¾Ð´Ð½Ð¸Ð¼ ÑÑÑÑойÑÑвом. ÐомбинаÑÐ¸Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑа Ñомов и Ñайловой ÑиÑÑÐµÐ¼Ñ Ð² ZFS ÑеÑÐ°ÐµÑ ÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸ позволÑÐµÑ ÑоздаваÑÑ ÑайловÑе ÑиÑÑемÑ, коÑоÑÑе ÑовмеÑÑно иÑполÑзÑÑÑ Ð¾Ð±Ñий пÑл доÑÑÑпного Ñ ÑаР½Ð¸Ð»Ð¸Ñа. Ðдно из болÑÑÐ¸Ñ Ð¿ÑеимÑÑеÑÑв оÑведомленноÑÑи ZFS о ÑизиÑеÑкой ÑÑÑÑкÑÑÑе диÑков заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо ÑÑÑеÑÑвÑÑÑие ÑайловÑе ÑиÑÑÐµÐ¼Ñ Ð°Ð²ÑомаÑиÑеÑки ÑаÑÑиÑÑÑÑÑÑ Ð¿Ñи добавлении дополниÑелÑнÑÑ Ð´Ð¸Ñков в пÑл. ÐÑо новое пÑоÑÑÑанÑÑво ÑÑановиÑÑÑ Ð´Ð¾ÑÑÑпнÑм Ð´Ð»Ñ ÑайловÑÑ ÑиÑÑем. ZFS Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑименÑÑÑ ÑазнÑе ÑвойÑÑва к каждой Ñайловой ÑиÑÑеме. ÐÑо Ð´ÐµÐ»Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм Ñоздание оÑделÑнÑÑ ÑайловÑÑ ÑиÑÑем и набоÑов даннÑÑ Ð²Ð¼ÐµÑÑо единой монолиÑной Ñайловой ÑиÑÑемÑ. [[zfs-quickstart]] == ÐÑаÑкое ÑÑководÑÑво по наÑÐ°Ð»Ñ ÑабоÑÑ +УÑÑановÑик FreeBSD Ð¼Ð¾Ð¶ÐµÑ ÑÑÑановиÑÑ ÑиÑÑÐµÐ¼Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно в пÑл ZFS, конÑигÑÑаÑиÑ, извеÑÑÐ½Ð°Ñ ÐºÐ°Ðº Root-on-ZFS; Ñм. crossref:bsdinstall[bsdinstall-part-zfs,РазмеÑка диÑка Ñ Ð¸ÑполÑзованием Root-on-ZFS Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¼Ð°ÑÑеÑа]. Ð ÑÑом Ñазделе показано, как ÑоздаваÑÑ Ð¸ ÑпÑавлÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑми пÑлами ZFS и набоÑами даннÑÑ Ð½Ð° ÑабоÑаÑÑей ÑиÑÑеме. + FreeBSD Ð¼Ð¾Ð¶ÐµÑ Ð¼Ð¾Ð½ÑиÑоваÑÑ Ð¿ÑÐ»Ñ Ð¸ набоÑÑ Ð´Ð°Ð½Ð½ÑÑ ZFS во вÑÐµÐ¼Ñ Ð¸Ð½Ð¸ÑиализаÑии ÑиÑÑемÑ. ЧÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ ÑÑÑ ÑÑнкÑиÑ, запÑÑÑиÑе: [source, shell] .... -# service zfs enable +# sysrc zfs_enable="YES" .... -или добавÑÑе ÑÑÑ ÑÑÑÐ¾ÐºÑ Ð² [.filename]#/etc/rc.conf#: - -[.programlisting] -.... -zfs_enable="YES" -.... +ÐÑо добавлÑÐµÑ `zfs_enable="YES"` в [.filename]#/etc/rc.conf#. ÐÑполнение `service zfs enable` вноÑÐ¸Ñ Ñо же изменение. ÐаÑем запÑÑÑиÑе ÑлÑжбÑ: @@ -89,28 +86,27 @@ zfs_enable="YES" # service zfs start .... -ÐÑимеÑÑ Ð² ÑÑом Ñазделе пÑедполагаÑÑ Ð¸ÑполÑзование ÑÑÑÑ SCSI-диÑков Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ ÑÑÑÑойÑÑв [.filename]#da0#, [.filename]#da1# и [.filename]#da2#. ÐолÑзоваÑелÑм обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ SATA ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¸Ð¼ÐµÐ½Ð° ÑÑÑÑойÑÑв [.filename]#ada#. +ÐÑимеÑÑ Ð² ÑÑом Ñазделе пÑедполагаÑÑ Ð¸ÑполÑзование ÑÑÑÑ SATA-диÑков Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ ÑÑÑÑойÑÑв [.filename]#ada0#, [.filename]#ada1# и [.filename]#ada2#. ÐолÑзоваÑелÑм обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ SCSI/SAS ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¸Ð¼ÐµÐ½Ð° ÑÑÑÑойÑÑв [.filename]#da#, полÑзоваÑелÑм обоÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ NVMe â имена ÑÑÑÑойÑÑв [.filename]#nda#. [[zfs-quickstart-single-disk-pool]] === ÐÑл на одном диÑке -ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð¿ÑоÑÑой, не избÑÑоÑнÑй пÑл, иÑполÑзÑÑ Ð¾Ð´Ð½Ð¾ диÑковое ÑÑÑÑойÑÑво: +СнаÑала ÑоздайÑе Ñаздел GPT на пÑÑÑом диÑке. ÐаÑем добавÑÑе Ñаздел Ñипа `freebsd-zfs`, из коÑоÑого ÑоздаеÑÑÑ Ð¾Ð´Ð¸Ð½ неÑезеÑвиÑÑемÑй пÑл: [source, shell] .... -# zpool create example /dev/da0 +# gpart create -s gpt ada1 +# gpart add -t freebsd-zfs ada1 +# zpool create example /dev/ada1p1 .... ÐÐ»Ñ Ð¿ÑоÑмоÑÑа нового пÑла ознакомÑÑеÑÑ Ñ Ð²Ñводом ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ `df`: [source, shell] .... -# df -Filesystem 1K-blocks Used Avail Capacity Mounted on -/dev/ad0s1a 2026030 235230 1628718 13% / -devfs 1 1 0 100% /dev -/dev/ad0s1d 54098308 1032846 48737598 2% /usr -example 17547136 0 17547136 0% /example +# df /example +Filesystem 1K-blocks Used Avail Capacity Mounted on +example 17547136 0 17547136 0% /example .... ÐÑÐ¾Ñ Ð²Ñвод показÑÐ²Ð°ÐµÑ Ñоздание и монÑиÑование пÑла `example`, коÑоÑÑй ÑепеÑÑ Ð´Ð¾ÑÑÑпен как ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема. СоздайÑе ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÑмоÑÑеÑÑ, ÑÑо вÑе ÑабоÑаеÑ: @@ -127,7 +123,7 @@ drwxr-xr-x 21 root wheel 512 Aug 29 23:12 .. -rw-r--r-- 1 root wheel 0 Aug 29 23:15 testfile .... -ÐÑÐ¾Ñ Ð¿Ñл пока не иÑполÑзÑÐµÑ ÑаÑÑиÑеннÑе ÑÑнкÑии и ÑвойÑÑва ZFS. ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð½Ð°Ð±Ð¾Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑÑом пÑле Ñ Ð²ÐºÐ»ÑÑеннÑм ÑжаÑием: +ÐÑÐ¾Ñ Ð¿Ñл пока не иÑполÑзÑÐµÑ ÑаÑÑиÑеннÑе ÑÑнкÑии и ÑвойÑÑва ZFS. ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð½Ð°Ð±Ð¾Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑÑом пÑле Ñ Ð²ÐºÐ»ÑÑÑннÑм ÑжаÑием: [source, shell] .... @@ -150,11 +146,8 @@ drwxr-xr-x 21 root wheel 512 Aug 29 23:12 .. .... # zfs umount example/compressed # df -Filesystem 1K-blocks Used Avail Capacity Mounted on -/dev/ad0s1a 2026030 235232 1628716 13% / -devfs 1 1 0 100% /dev -/dev/ad0s1d 54098308 1032864 48737580 2% /usr -example 17547008 0 17547008 0% /example +Filesystem 1K-blocks Used Avail Capacity Mounted on +example 17547008 0 17547008 0% /example .... ÐÐ»Ñ Ð¿Ð¾Ð²ÑоÑного монÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñайловой ÑиÑÑемÑ, ÑÑÐ¾Ð±Ñ ÑделаÑÑ ÐµÑ Ñнова доÑÑÑпной, иÑполÑзÑйÑе `zfs mount` и пÑовеÑÑÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `df`: @@ -164,9 +157,6 @@ example 17547008 0 17547008 0% /example # zfs mount example/compressed # df Filesystem 1K-blocks Used Avail Capacity Mounted on -/dev/ad0s1a 2026030 235234 1628714 13% / -devfs 1 1 0 100% /dev -/dev/ad0s1d 54098308 1032864 48737580 2% /usr example 17547008 0 17547008 0% /example example/compressed 17547008 0 17547008 0% /example/compressed .... @@ -176,9 +166,9 @@ example/compressed 17547008 0 17547008 0% /example/compressed [source, shell] .... # mount -/dev/ad0s1a on / (ufs, local) +/dev/ada0p1 on / (ufs, local) devfs on /dev (devfs, local) -/dev/ad0s1d on /usr (ufs, local, soft-updates) +/dev/ada0p2 on /usr (ufs, local, soft-updates) example on /example (zfs, local) example/compressed on /example/compressed (zfs, local) .... @@ -196,13 +186,13 @@ example/compressed on /example/compressed (zfs, local) [source, shell] .... # df -Filesystem 1K-blocks Used Avail Capacity Mounted on -/dev/ad0s1a 2026030 235234 1628714 13% / -devfs 1 1 0 100% /dev -/dev/ad0s1d 54098308 1032864 48737580 2% /usr -example 17547008 0 17547008 0% /example -example/compressed 17547008 0 17547008 0% /example/compressed -example/data 17547008 0 17547008 0% /example/data +Filesystem 1K-blocks Used Avail Capacity Mounted on +/dev/ada0p1 2026030 235234 1628714 13% / +devfs 1 1 0 100% /dev +/dev/ada0p2 54098308 1032864 48737580 2% /usr +example 17547008 0 17547008 0% /example +example/compressed 17547008 0 17547008 0% /example/compressed +example/data 17547008 0 17547008 0% /example/data .... ÐбÑаÑиÑе внимание, ÑÑо вÑе ÑайловÑе ÑиÑÑÐµÐ¼Ñ Ð² пÑле имеÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ðµ доÑÑÑпное пÑоÑÑÑанÑÑво. ÐÑполÑзование `df` в ÑÑÐ¸Ñ Ð¿ÑимеÑÐ°Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑ, ÑÑо ÑайловÑе ÑиÑÑÐµÐ¼Ñ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ ÑÑолÑко меÑÑа, ÑколÑко им нÑжно, и вÑе иÑполÑзÑÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ пÑл. ZFS ÑÑÑÑанÑÐµÑ Ñакие понÑÑиÑ, как Ñома и ÑазделÑ, и позволÑÐµÑ Ð½ÐµÑколÑким ÑайловÑм ÑиÑÑемам ÑовмеÑÑно иÑполÑзоваÑÑ Ð¾Ð´Ð¸Ð½ пÑл. @@ -221,16 +211,22 @@ example/data 17547008 0 17547008 0% /example/data ÐиÑки вÑÑ Ð¾Ð´ÑÑ Ð¸Ð· ÑÑÑоÑ. Ðдин из ÑпоÑобов избежаÑÑ Ð¿Ð¾ÑеÑи даннÑÑ Ð¿Ñи оÑказе диÑка â иÑполÑзование RAID. ZFS поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð² Ñвоей конÑÑÑÑкÑии пÑла. ÐÑÐ»Ð»Ñ RAID-Z ÑÑебÑÑÑ ÑÑÑÑ Ð¸Ð»Ð¸ более диÑков, но пÑедоÑÑавлÑÑÑ Ð±Ð¾Ð»ÑÑе полезного пÑоÑÑÑанÑÑва, Ñем зеÑкалÑнÑе пÑллÑ. -Ð ÑÑом пÑимеÑе ÑоздаÑÑÑÑ Ð¿Ñл RAID-Z Ñ Ñказанием диÑков Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² пÑл: +ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ ÑÐ¾Ð·Ð´Ð°ÐµÑ Ð¿Ñл RAID-Z. СнаÑала на каждом диÑке ÑоздаÑÑÑÑ ÑÐ°Ð·Ð´ÐµÐ»Ñ GPT, заÑем ÑкажиÑе ÑÑи ÑÐ°Ð·Ð´ÐµÐ»Ñ GPT Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² пÑл Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ»ÑÑевого Ñлова `raidz`: [source, shell] .... -# zpool create storage raidz da0 da1 da2 +# gpart create -s gpt ada0 +# gpart add -t freebsd-zfs ada0 +# gpart create -s gpt ada1 +# gpart add -t freebsd-zfs ada1 +# gpart create -s gpt ada2 +# gpart add -t freebsd-zfs ada2 +# zpool create storage raidz ada0p1 ada1p1 ada2p1 .... [NOTE] ==== -Sun(TM) ÑекомендÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¾Ñ ÑÑÑÑ Ð´Ð¾ девÑÑи ÑÑÑÑойÑÑв в конÑигÑÑаÑии RAID-Z. ÐÐ»Ñ ÑÑед, ÑÑебÑÑÑÐ¸Ñ ÐµÐ´Ð¸Ð½Ð¾Ð³Ð¾ пÑла из 10 или более диÑков, ÑекомендÑеÑÑÑ ÑазбиÑÑ ÐµÐ³Ð¾ на менÑÑие гÑÑÐ¿Ð¿Ñ RAID-Z. ÐÑли доÑÑÑпно два диÑка, ZFS-зеÑкалиÑование обеÑпеÑÐ¸Ñ Ð¸Ð·Ð±ÑÑоÑноÑÑÑ Ð¿Ñи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи. ÐодÑобнее Ñм. в man:zpool[8]. +Рекомендовано иÑполÑзоваÑÑ Ð¾Ñ ÑÑÑÑ Ð´Ð¾ девÑÑи ÑÑÑÑойÑÑв в конÑигÑÑаÑии RAID-Z. ÐÐ»Ñ ÑÑед, ÑÑебÑÑÑÐ¸Ñ ÐµÐ´Ð¸Ð½Ð¾Ð³Ð¾ пÑла из 10 или более диÑков, ÑекомендÑеÑÑÑ ÑазбиÑÑ ÐµÐ³Ð¾ на менÑÑие гÑÑÐ¿Ð¿Ñ RAID-Z. ÐÑли доÑÑÑпно два диÑка, ZFS-зеÑкалиÑование обеÑпеÑÐ¸Ñ Ð¸Ð·Ð±ÑÑоÑноÑÑÑ Ð¿Ñи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи. ÐодÑобнее Ñм. в man:zpool[8]. ==== ÐÑедÑдÑÑий пÑÐ¸Ð¼ÐµÑ Ñоздал пÑл `storage`. Ð ÑÑом пÑимеÑе в ÑÑом пÑле ÑоздаÑÑÑÑ Ð½Ð¾Ð²Ð°Ñ ÑÐ°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ `home`: @@ -258,22 +254,22 @@ Sun(TM) ÑекомендÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¾Ñ ÑÑÑÑ Ð´Ð¾ де # ln -s /storage/home /usr/home .... -ÐаннÑе полÑзоваÑелей ÑепеÑÑ Ñ ÑанÑÑÑÑ Ð² ÑолÑко ÑÑо Ñозданном [.filename]#/storage/home#. ÐÑовеÑÑÑе ÑÑо, добавив нового полÑзоваÑÐµÐ»Ñ Ð¸ Ð²Ð¾Ð¹Ð´Ñ Ð² ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ð´ его ÑÑÑÑной запиÑÑÑ. +ÐаннÑе полÑзоваÑÐµÐ»Ñ ÑепеÑÑ Ñ ÑанÑÑÑÑ Ð² ÑолÑко ÑÑо Ñозданном [.filename]#/storage/home#. ÐÑовеÑÑÑе ÑÑо, добавив нового полÑзоваÑÐµÐ»Ñ Ð¸ Ð²Ð¾Ð¹Ð´Ñ Ð² ÑиÑÑÐµÐ¼Ñ Ð¿Ð¾Ð´ его ÑÑÑÑной запиÑÑÑ. СоздайÑе Ñнимок Ñайловой ÑиÑÑÐµÐ¼Ñ Ð´Ð»Ñ Ð¿Ð¾ÑледÑÑÑего оÑкаÑа: [source, shell] .... -# zfs snapshot storage/home@08-30-08 +# zfs snapshot storage/home@2026-07-11 .... ZFS ÑоздаÑÑ Ñнимки набоÑа даннÑÑ , а не оÑделÑного каÑалога или Ñайла. -Символ `@` ÑвлÑеÑÑÑ ÑазделиÑелем Ð¼ÐµÐ¶Ð´Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñайловой ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ именем Ñома. ÐеÑед Ñдалением важного каÑалога ÑоздайÑе ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ñайловой ÑиÑÑемÑ, а заÑем оÑкаÑиÑеÑÑ Ðº более ÑÐ°Ð½Ð½ÐµÐ¼Ñ ÑнимкÑ, в коÑоÑом каÑалог еÑÑ ÑÑÑеÑÑвÑеÑ: +Символ `@` ÑвлÑеÑÑÑ ÑазделиÑелем Ð¼ÐµÐ¶Ð´Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ Ñайловой ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ Ñома и именем Ñнимка. ÐеÑед Ñдалением важного каÑалога ÑоздайÑе ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ñайловой ÑиÑÑемÑ, а заÑем оÑкаÑиÑеÑÑ Ðº более ÑÐ°Ð½Ð½ÐµÐ¼Ñ ÑнимкÑ, в коÑоÑом каÑалог еÑÑ ÑÑÑеÑÑвÑеÑ: [source, shell] .... -# zfs rollback storage/home@08-30-08 +# zfs rollback storage/home@2026-07-11 .... ЧÑÐ¾Ð±Ñ Ð¿ÐµÑеÑиÑлиÑÑ Ð²Ñе доÑÑÑпнÑе Ñнимки, вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ `ls` в каÑалоге [.filename]#.zfs/snapshot# Ñайловой ÑиÑÑемÑ. ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ ÑделаннÑй Ñнимок: @@ -287,7 +283,7 @@ ZFS ÑоздаÑÑ Ñнимки набоÑа даннÑÑ , а не оÑÐ´ÐµÐ»Ñ [source, shell] .... -# zfs destroy storage/home@08-30-08 +# zfs destroy storage/home@2026-07-11 .... ÐоÑле ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑделайÑе [.filename]#/storage/home# наÑÑоÑÑим [.filename]#/home# Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑледÑÑÑей командÑ: @@ -302,16 +298,16 @@ ZFS ÑоздаÑÑ Ñнимки набоÑа даннÑÑ , а не оÑÐ´ÐµÐ»Ñ [source, shell] .... # mount -/dev/ad0s1a on / (ufs, local) +/dev/ada0p1 on / (ufs, local) devfs on /dev (devfs, local) -/dev/ad0s1d on /usr (ufs, local, soft-updates) +/dev/ada0p2 on /usr (ufs, local, soft-updates) storage on /storage (zfs, local) storage/home on /home (zfs, local) # df Filesystem 1K-blocks Used Avail Capacity Mounted on -/dev/ad0s1a 2026030 235240 1628708 13% / +/dev/ada0p1 2026030 235240 1628708 13% / devfs 1 1 0 100% /dev -/dev/ad0s1d 54098308 1032826 48737618 2% /usr +/dev/ada0p2 54098308 1032826 48737618 2% /usr storage 26320512 0 26320512 0% /storage storage/home 26320512 0 26320512 0% /home .... @@ -323,6 +319,8 @@ storage/home 26320512 0 26320512 0% /home daily_status_zfs_enable="YES" .... +man:periodic[8] Ñакже Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸ÑованнÑе пÑовеÑки пÑла; Ñм. crossref:zfs[zfs-zpool-scrub,ÐÑовеÑка пÑла]. + [[zfs-quickstart-recovering-raid-z]] === ÐоÑÑÑановление RAID-Z @@ -347,35 +345,35 @@ all pools are healthy pool: storage state: DEGRADED status: One or more devices has been taken offline by the administrator. - Sufficient replicas exist for the pool to continue functioning in a - degraded state. + Sufficient replicas exist for the pool to continue functioning in a + degraded state. action: Online the device using 'zpool online' or replace the device with - 'zpool replace'. - scrub: none requested + 'zpool replace'. + scan: none requested config: - NAME STATE READ WRITE CKSUM - storage DEGRADED 0 0 0 - raidz1 DEGRADED 0 0 0 - da0 ONLINE 0 0 0 - da1 OFFLINE 0 0 0 - da2 ONLINE 0 0 0 + NAME STATE READ WRITE CKSUM + storage DEGRADED 0 0 0 + raidz1-0 DEGRADED 0 0 0 + ada0p1 ONLINE 0 0 0 + ada1p1 OFFLINE 0 0 0 + ada2p1 ONLINE 0 0 0 errors: No known data errors .... -"OFFLINE" показÑваеÑ, ÑÑо админиÑÑÑаÑÐ¾Ñ Ð¿ÐµÑевел [.filename]#da1# в авÑономнÑй Ñежим Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ: +"OFFLINE" показÑваеÑ, ÑÑо админиÑÑÑаÑÐ¾Ñ Ð¿ÐµÑевел [.filename]#ada1p1# в авÑономнÑй Ñежим Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ: [source, shell] .... -# zpool offline storage da1 +# zpool offline storage ada1p1 .... -ÐÑклÑÑиÑе компÑÑÑÐµÑ Ð¸ замениÑе диÑк [.filename]#da1#. ÐклÑÑиÑе компÑÑÑÐµÑ Ð¸ веÑниÑе [.filename]#da1# в пÑл: +ÐÑклÑÑиÑе компÑÑÑÐµÑ Ð¸ замениÑе диÑк [.filename]#ada1p1#. Ðаново ÑоздайÑе GPT-Ñаздел Ñипа `freebsd-zfs` на новом диÑке. ÐклÑÑиÑе компÑÑÑÐµÑ Ð¸ веÑниÑе [.filename]#ada1p1# в пÑл: [source, shell] .... -# zpool replace storage da1 +# zpool replace storage ada1p1 .... Ðалее Ñнова пÑовеÑÑÑе ÑÑаÑÑÑ, на ÑÑÐ¾Ñ Ñаз без `-x`, ÑÑÐ¾Ð±Ñ Ð¾ÑобÑазиÑÑ Ð²Ñе пÑлÑ: @@ -383,17 +381,17 @@ errors: No known data errors [source, shell] .... # zpool status storage - pool: storage + pool: storage state: ONLINE - scrub: resilver completed with 0 errors on Sat Aug 30 19:44:11 2008 + scan: resilvered 3.21G in 00:04:36 with 0 errors on Sat Jul 11 10:32:19 2026 config: - NAME STATE READ WRITE CKSUM - storage ONLINE 0 0 0 - raidz1 ONLINE 0 0 0 - da0 ONLINE 0 0 0 - da1 ONLINE 0 0 0 - da2 ONLINE 0 0 0 + NAME STATE READ WRITE CKSUM + storage ONLINE 0 0 0 + raidz1-0 ONLINE 0 0 0 + ada0p1 ONLINE 0 0 0 + ada1p1 ONLINE 0 0 0 + ada2p1 ONLINE 0 0 0 errors: No known data errors .... @@ -407,7 +405,7 @@ ZFS иÑполÑзÑÐµÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð´Ð»Ñ Ð¿ÑовеÑк [WARNING] ==== -ÐÑклÑÑение конÑÑолÑнÑÑ ÑÑмм возможно, но _не_ ÑекомендÑеÑÑÑ! ÐонÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð¼Ð°Ð»Ð¾ меÑÑа и обеÑпеÑиваÑÑ ÑелоÑÑноÑÑÑ Ð´Ð°Ð½Ð½ÑÑ . ÐолÑÑинÑÑво ÑÑнкÑий ZFS не бÑдÑÑ ÑабоÑаÑÑ ÐºÐ¾ÑÑекÑно пÑи оÑклÑÑеннÑÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑÐ¼Ð¼Ð°Ñ . ÐÑ Ð¾ÑклÑÑение не пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº замеÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи. +ÐÑклÑÑение конÑÑолÑнÑÑ ÑÑмм возможно, но _не_ ÑекомендÑеÑÑÑ! ÐонÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð¼Ð°Ð»Ð¾ меÑÑа и обеÑпеÑиваÑÑ ÑелоÑÑноÑÑÑ Ð´Ð°Ð½Ð½ÑÑ . ÐолÑÑинÑÑво ÑÑнкÑий ZFS не бÑдÑÑ ÑабоÑаÑÑ ÐºÐ¾ÑÑекÑно пÑи оÑклÑÑÑннÑÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑÐ¼Ð¼Ð°Ñ . ÐÑ Ð¾ÑклÑÑение не пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº замеÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ Ð¿ÑоизводиÑелÑноÑÑи. ==== ÐÑовеÑка конÑÑолÑнÑÑ ÑÑмм даннÑÑ (назÑÐ²Ð°ÐµÐ¼Ð°Ñ _scrubbing_) обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑелоÑÑноÑÑÑ Ð¿Ñла `storage` Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ: @@ -417,22 +415,22 @@ ZFS иÑполÑзÑÐµÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð´Ð»Ñ Ð¿ÑовеÑк # zpool scrub storage .... -ÐÑодолжиÑелÑноÑÑÑ Ð¾ÑиÑÑки завиÑÐ¸Ñ Ð¾Ñ Ð¾Ð±ÑÑма Ñ ÑанимÑÑ Ð´Ð°Ð½Ð½ÑÑ . ÐолÑÑие обÑÑÐ¼Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑебÑÑÑ Ð¿ÑопоÑÑионалÑно болÑÑе вÑемени Ð´Ð»Ñ Ð¿ÑовеÑки. ÐоÑколÑÐºÑ Ð¾ÑиÑÑка инÑенÑивно иÑполÑзÑÐµÑ Ð¾Ð¿ÐµÑаÑии ввода-вÑвода, ZFS позволÑÐµÑ Ð²ÑполнÑÑÑ ÑолÑко Ð¾Ð´Ð½Ñ Ð¾ÑиÑÑÐºÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменно. ÐоÑле завеÑÑÐµÐ½Ð¸Ñ Ð¾ÑиÑÑки пÑоÑмоÑÑиÑе ÑÑаÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool status`: +ÐÑодолжиÑелÑноÑÑÑ Ð¾ÑиÑÑки завиÑÐ¸Ñ Ð¾Ñ Ð¾Ð±ÑÑма Ñ ÑанимÑÑ Ð´Ð°Ð½Ð½ÑÑ . ÐолÑÑие обÑÑÐ¼Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑебÑÑÑ Ð¿ÑопоÑÑионалÑно болÑÑе вÑемени Ð´Ð»Ñ Ð¿ÑовеÑки. ÐоÑколÑÐºÑ Ð¾ÑиÑÑка инÑенÑивно иÑполÑзÑÐµÑ Ð¾Ð¿ÐµÑаÑии ввода-вÑвода, ZFS позволÑÐµÑ Ð²ÑполнÑÑÑ ÑолÑко Ð¾Ð´Ð½Ñ Ð¾ÑиÑÑÐºÑ Ð½Ð° каждом пÑле одновÑеменно. ÐоÑле завеÑÑÐµÐ½Ð¸Ñ Ð¾ÑиÑÑки пÑоÑмоÑÑиÑе ÑÑаÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool status`: [source, shell] .... # zpool status storage - pool: storage + pool: storage state: ONLINE - scrub: scrub completed with 0 errors on Sat Jan 26 19:57:37 2013 + scan: scrub repaired 0B in 00:19:16 with 0 errors on Sat Jul 11 10:32:19 2026 config: - NAME STATE READ WRITE CKSUM - storage ONLINE 0 0 0 - raidz1 ONLINE 0 0 0 - da0 ONLINE 0 0 0 - da1 ONLINE 0 0 0 - da2 ONLINE 0 0 0 + NAME STATE READ WRITE CKSUM + storage ONLINE 0 0 0 + raidz1-0 ONLINE 0 0 0 + ada0p1 ONLINE 0 0 0 + ada1p1 ONLINE 0 0 0 + ada2p1 ONLINE 0 0 0 errors: No known data errors .... @@ -449,47 +447,45 @@ errors: No known data errors [[zfs-zpool-create]] === Создание и Ñдаление пÑлов Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ -Создание пÑла Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ZFS ÑÑебÑÐµÑ Ð¿ÑинÑÑÐ¸Ñ Ð¾ÐºÐ¾Ð½ÑаÑелÑного ÑеÑÐµÐ½Ð¸Ñ Ð¾ неÑколÑÐºÐ¸Ñ Ð¿Ð°ÑамеÑÑÐ°Ñ , Ñак как ÑÑÑÑкÑÑÑа пÑла не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð° поÑле ÑозданиÑ. Ðаиболее важное ÑеÑение â ÑÑо вÑÐ±Ð¾Ñ Ñипов vdev, в коÑоÑÑе бÑдÑÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ñ ÑизиÑеÑкие диÑки. ÐодÑобнее о возможнÑÑ Ð²Ð°ÑианÑÐ°Ñ Ñм. в ÑпиÑке crossref:zfs[zfs-term-vdev,Ñипов vdev]. ÐоÑле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñла болÑÑинÑÑво Ñипов vdev не позволÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð´Ð¸Ñки в vdev. ÐÑклÑÑÐµÐ½Ð¸Ñ ÑоÑÑавлÑÑÑ Ð·ÐµÑкала (mirror), коÑоÑÑе п озволÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð½Ð¾Ð²Ñе диÑки в vdev, и ÑÑÑÐ°Ð¹Ð¿Ñ (stripe), коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¿ÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ñ Ð² зеÑкала пÑÑÑм дР¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ нового диÑка к vdev. ХоÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ новÑÑ vdev ÑаÑÑиÑÑÐµÑ Ð¿Ñл, компоновка пÑла не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð° поÑле его ÑозданиÑ. ÐмеÑÑо ÑÑого Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑдалиÑÑ Ð¿Ñл и воÑÑоздаÑÑ ÐµÐ³Ð¾. +Самое важное ÑеÑение пÑи Ñоздании пÑла Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ZFS â ÑÑо вÑÐ±Ð¾Ñ Ñипов vdev Ð´Ð»Ñ Ð³ÑÑппиÑовки ÑизиÑеÑÐºÐ¸Ñ Ð´Ð¸Ñков. См. ÑпиÑок crossref:zfs[zfs-term-vdev,Ñипов vdev] Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´Ñобной инÑоÑмаÑии о возможнÑÑ Ð²Ð°ÑианÑÐ°Ñ . Ð¢Ð¸Ð¿Ñ vdev опÑеделÑÑÑ Ñ Ð°ÑакÑеÑиÑÑики избÑÑоÑноÑÑи, ÑмкоÑÑи и пÑоизводиÑелÑноÑÑи пÑла. РаÑкладка пÑла не ÑикÑиÑÑеÑÑÑ Ð½Ð°Ð²Ñегда пÑи его Ñоздании. ÐеÑкала позволÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð½Ð¾Ð²Ñе диÑки в vdev, а полоÑÑ (stripes) обновлÑÑÑÑÑ Ð´Ð¾ зеÑкал пÑÑÑм пÑиÑо ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ диÑка к vdev. Vdev RAID-Z ÑвелиÑиваÑÑÑÑ Ð½Ð° один диÑк за Ñаз Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ crossref:zfs[zfs-zpool-raidz-expansion,ÑаÑÑ Ð¸ÑÐµÐ½Ð¸Ñ RAID-Z], коÑоÑое ÑÑебÑÐµÑ OpenZFS 2.3 или более поздней веÑÑии, впеÑвÑе доÑÑÑпной во FreeBSD 15.0. Ðобавление новÑÑ vdev ÑаÑÑиÑÑÐµÑ Ð¿Ñл в лÑбое вÑемÑ, а crossref:zfs[zfs-zpool-attach,Ñдаление веÑÑ Ð½Ð¸Ñ ÑÑовней vdev] возможно в опÑеделÑннÑÑ Ð¿ÑÐµÐ´ÐµÐ»Ð°Ñ . Ðзменение ÑоÑÐ¼Ñ Ð°ÐºÑивного пÑла Ð·Ð°Ð½Ð¸Ð¼Ð°ÐµÑ Ð²ÑÐµÐ¼Ñ Ð¸ пÑопÑÑкнÑÑ ÑпоÑобноÑÑÑ Ð²Ð²Ð¾Ð´Ð°-вÑвода, поÑÑÐ¾Ð¼Ñ Ð²ÑÐ±Ð¾Ñ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑÐ¸Ñ Ñипов vdev заÑанее оÑÑаÑÑÑÑ Ð²Ð°Ð¶Ð½Ñм. -Создание пÑоÑÑого зеÑкалÑного пÑла: +СоздайÑе пÑоÑÑой зеÑкалÑнÑй пÑл на диÑÐºÐ°Ñ , ÑодеÑжаÑÐ¸Ñ GPT-ÑÐ°Ð·Ð´ÐµÐ»Ñ Ñипа `freebsd-zfs`: [source, shell] .... -# zpool create mypool mirror /dev/ada1 /dev/ada2 +# zpool create mypool mirror /dev/ada1p1 /dev/ada2p1 # zpool status pool: mypool state: ONLINE - scan: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 - ada1 ONLINE 0 0 0 - ada2 ONLINE 0 0 0 + ada1p1 ONLINE 0 0 0 + ada2p1 ONLINE 0 0 0 errors: No known data errors .... -ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð±Ð¾Ð»ÐµÐµ одного vdev одной командой, ÑкажиÑе гÑÑÐ¿Ð¿Ñ Ð´Ð¸Ñков, ÑазделеннÑе клÑÑевÑм Ñловом Ñипа vdev, в данном пÑимеÑе `mirror`: +ЧÑÐ¾Ð±Ñ ÑоздаÑÑ Ð±Ð¾Ð»ÐµÐµ одного vdev одной командой, ÑкажиÑе гÑÑÐ¿Ð¿Ñ Ð´Ð¸Ñков, ÑазделÑннÑе клÑÑевÑм Ñловом Ñипа vdev, в данном пÑимеÑе `mirror`: [source, shell] .... -# zpool create mypool mirror /dev/ada1 /dev/ada2 mirror /dev/ada3 /dev/ada4 +# zpool create mypool mirror /dev/ada1p1 /dev/ada2p1 mirror /dev/ada3p1 /dev/ada4p1 # zpool status pool: mypool state: ONLINE - scan: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 - ada1 ONLINE 0 0 0 - ada2 ONLINE 0 0 0 + ada1p1 ONLINE 0 0 0 + ada2p1 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 - ada3 ONLINE 0 0 0 - ada4 ONLINE 0 0 0 + ada3p1 ONLINE 0 0 0 + ada4p1 ONLINE 0 0 0 errors: No known data errors .... @@ -500,32 +496,65 @@ errors: No known data errors [source, shell] .... -# zpool create mypool raidz2 /dev/ada0p3 /dev/ada1p3 /dev/ada2p3 /dev/ada3p3 /dev/ada4p3 /dev/ada5p3 +# zpool create mypool raidz2 /dev/ada0p1 /dev/ada1p1 /dev/ada2p1 /dev/ada3p1 /dev/ada4p1 /dev/ada5p1 # zpool status pool: mypool state: ONLINE - scan: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 raidz2-0 ONLINE 0 0 0 - ada0p3 ONLINE 0 0 0 - ada1p3 ONLINE 0 0 0 - ada2p3 ONLINE 0 0 0 - ada3p3 ONLINE 0 0 0 - ada4p3 ONLINE 0 0 0 - ada5p3 ONLINE 0 0 0 + ada0p1 ONLINE 0 0 0 + ada1p1 ONLINE 0 0 0 + ada2p1 ONLINE 0 0 0 + ada3p1 ONLINE 0 0 0 + ada4p1 ONLINE 0 0 0 + ada5p1 ONLINE 0 0 0 errors: No known data errors .... +ZFS вÑÑÐ°Ð²Ð½Ð¸Ð²Ð°ÐµÑ Ð¸ подбиÑÐ°ÐµÑ ÑÐ°Ð·Ð¼ÐµÑ ÑÐ²Ð¾Ð¸Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑÑ Ð·Ð°Ð¿Ð¸Ñей Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ vdev на оÑнове знаÑÐµÐ½Ð¸Ñ `ashift` ÑÑого vdev, коÑоÑое ÑвлÑеÑÑÑ Ð»Ð¾Ð³Ð°ÑиÑмом ÑазмеÑа ÑекÑоÑа по оÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ 2. OpenZFS опÑеделÑÐµÑ ÑÐ°Ð·Ð¼ÐµÑ ÑекÑоÑа, ÑообÑаемÑй диÑками пÑи Ñоздании vdev, и вÑбиÑÐ°ÐµÑ `ashift` ÑооÑвеÑÑÑвÑÑÑим обÑазом. ÐекоÑоÑÑе диÑки ÑообÑаÑÑ ÑекÑоÑÑ Ð² 512 Ð±Ð°Ð¹Ñ Ð´Ð»Ñ ÑовмеÑÑимоÑÑи, но внÑÑÑенне иÑполÑзÑÑÑ ÑекÑоÑÑ Ð² 4096 байÑ. СоздавайÑе пÑÐ»Ñ Ð½Ð° ÑÐ°ÐºÐ¸Ñ Ð´Ð¸ÑÐºÐ°Ñ Ñ ÑвнÑм паÑамеÑÑом `-o a shift=12`, ÑÑÐ¾Ð±Ñ Ð¿ÑинÑдиÑелÑно ÑÑÑановиÑÑ Ð²ÑÑавнивание по 4096 байÑ: + +[source, shell] +.... +# zpool create -o ashift=12 mypool mirror /dev/ada1p1 /dev/ada2p1 +.... + +УÑÑановка пеÑеменной man:sysctl[8] `vfs.zfs.vdev.min_auto_ashift` в знаÑение `12` Ð´Ð°ÐµÑ ÑÐ¾Ñ Ð¶Ðµ ÑезÑлÑÑÐ°Ñ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ñла и Ð´Ð»Ñ Ð¿Ð¾ÑледÑÑÑÐ¸Ñ Ð¾Ð¿ÐµÑаÑий `zpool add` и `zpool attach`. `ashift` â ÑÑо ÑвойÑÑво каждого vdev, а не пÑла в Ñелом. Ðно ÑикÑиÑÑеÑÑÑ Ð¿Ñи Ñоздании vdev и не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾ впоÑледÑÑвии, поÑÑÐ¾Ð¼Ñ Ð¿ÑовеÑÑÑе его пеÑед запиÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² пÑл. + УниÑÑожÑÑе пÑл, коÑоÑÑй болÑÑе не нÑжен, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð²ÑоÑно иÑполÑзоваÑÑ Ð´Ð¸Ñки. ÐеÑед ÑниÑÑожением пÑла Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑазмонÑиÑоваÑÑ ÑайловÑе ÑиÑÑÐµÐ¼Ñ Ð² ÑÑом пÑле. ÐÑли какой-либо Ð½Ð°Ð±Ð¾Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ÑполÑзÑеÑÑÑ, опеÑаÑÐ¸Ñ ÑазмонÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð²ÐµÑÑиÑÑÑ Ð½ÐµÑдаÑей без ÑниÑÑÐ¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ñла. ÐÑинÑдиÑелÑное ÑниÑÑожение пÑла вÑполнÑеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `-f`. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к неопÑеделÑÐ½Ð½Ð¾Ð¼Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿Ñиложений, Ñ ÐºÐ¾ÑоÑÑÑ Ð±Ñли оÑкÑÑÑÑ ÑÐ°Ð¹Ð»Ñ Ð² ÑÑÐ¸Ñ Ð½Ð°Ð±Ð¾ÑÐ°Ñ Ð´Ð°Ð½Ð½ ÑÑ . +[[zfs-zpool-props]] +=== СвойÑÑва пÑлов + +Ðодобно набоÑам даннÑÑ , пÑÐ»Ñ Ð¸Ð¼ÐµÑÑ ÑвойÑÑва, коÑоÑÑе ÑообÑаÑÑ Ð¾ ÑоÑÑоÑнии и ÑпÑавлÑÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸ÐµÐ¼. ÐÑобÑазиÑе каждое ÑвойÑÑво пÑла Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool get all _mypool_` или ÑкажиÑе конкÑеÑнÑе ÑвойÑÑва: + +[source, shell] +.... +# zpool get health,capacity mypool +NAME PROPERTY VALUE SOURCE +mypool health ONLINE - +mypool capacity 27% - +.... + +ÐзмениÑе изменÑемое ÑвойÑÑво Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool set`: + +[source, shell] +.... +# zpool set comment="Backup pool" mypool +# zpool get comment mypool +NAME PROPERTY VALUE SOURCE +mypool comment Backup pool local +.... + +Такие ÑвойÑÑва, как `size`, `capacity`, `fragmentation` и `health`, ÑвлÑÑÑÑÑ ÑÑаÑÑÑнÑми знаÑениÑми ÑолÑко Ð´Ð»Ñ ÑÑениÑ. ÐÑÑгие изменÑÑÑ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ пÑла; в ÑÑой главе иÑполÑзÑеÑÑÑ `autoexpand` Ð´Ð»Ñ Ð°Ð²ÑомаÑиÑеÑкого ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð¿Ñла (crossref:zfs[zfs-zpool-online,УвелиÑение ÑазмеÑа пÑла]), `autoreplace` Ñ Ð³Ð¾ÑÑÑими ÑезеÑвнÑми диÑками (crossref:zfs[zfs-zpool-spares,ÐоÑÑÑие ÑезеÑвнÑе диÑки и авÑомаÑиÑеÑÐºÐ°Ñ Ð·Ð°Ð¼ÐµÐ½Ð° Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ zfsd]), `autotrim` на пÑÐ»Ð°Ñ Ñ SSD (crossref:zfs[zfs-zpool-trim,TRIM and Initialization]) и `compatibility` Ð´Ð»Ñ Ð¿ÐµÑеноÑимÑÑ Ð¿Ñлов (crossref:zfs[zfs-zpool-upgrade,Ðбновление пÑла диÑков]). УÑÑанавливайÑе ÑвойÑÑва пÑи Ñоздании пÑла, пеÑÐµÐ´Ð°Ð²Ð°Ñ `-o` команде `zpool create`, как показано вÑÑе Ñ `ashift`. man:zpoolprops[7] опиÑÑÐ²Ð°ÐµÑ Ð²Ñе ÑвойÑÑва пÑла. + [[zfs-zpool-attach]] === Ðобавление и Ñдаление ÑÑÑÑойÑÑв -СÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° ÑпоÑоба Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¸Ñков в пÑл: подклÑÑение диÑка к ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ vdev Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool attach` или добавление vdev в пÑл Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool add`. ÐекоÑоÑÑе crossref:zfs[zfs-term-vdev,ÑÐ¸Ð¿Ñ vdev] позволÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð´Ð¸Ñки в vdev поÑле его ÑозданиÑ. +СÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° ÑпоÑоба Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¸Ñков в пÑл: подклÑÑение диÑка к ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ vdev Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool attach` или добавление vdev в пÑл Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool add`. ÐекоÑоÑÑе crossref:zfs[zfs-term-vdev,ÑÐ¸Ð¿Ñ vdev] позволÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð´Ð¸Ñки в vdev поÑле его ÑозданиÑ. ÐиÑÑÑалÑнÑе ÑÑÑÑойÑÑва (vdev) RAID-Z пÑинимаÑÑ Ð½Ð¾Ð²Ñе диÑки иÑклÑÑиÑелÑно поÑÑедÑÑвом crossref:zfs[zfs-zpool-raidz-expansion,ÑаÑÑиÑÐµÐ½Ð¸Ñ RAID-Z]. ÐÑл, ÑозданнÑй Ñ Ð¾Ð´Ð½Ð¸Ð¼ диÑком, не Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ Ð¸Ð·Ð±ÑÑоÑноÑÑÑÑ. Ðн Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð±Ð½Ð°ÑÑжиÑÑ Ð¿Ð¾Ð²Ñеждение даннÑÑ , но не Ð¼Ð¾Ð¶ÐµÑ ÐµÐ³Ð¾ иÑпÑавиÑÑ, Ñак как Ð½ÐµÑ Ð´ÑÑгой копии даннÑÑ . СвойÑÑво crossref:zfs[zfs-term-copies,Ðопии (copies)] Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾ÑÑÑановиÑÑ Ð´Ð°Ð½Ð½Ñе поÑле неболÑÑого ÑбоÑ, напÑимеÑ, повÑеждÑнного ÑекÑоÑа, но не обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ñакой же ÑÑÐ¾Ð²ÐµÐ½Ñ Ð·Ð°ÑиÑÑ, как зеÑкалиÑование или RAID-Z. ÐаÑÐ¸Ð½Ð°Ñ Ñ Ð¿Ñла, ÑоÑÑоÑÑего из однодиÑкового vdev, иÑполÑзÑйÑе `zpool attach` Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³ о диÑка в vdev, ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ Ð·ÐµÑкало. Также иÑполÑзÑйÑе `zpool attach` Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²ÑÑ Ð´Ð¸Ñков в зеÑкалÑнÑÑ Ð³ÑÑп пÑ, ÑвелиÑÐ¸Ð²Ð°Ñ Ð¸Ð·Ð±ÑÑоÑноÑÑÑ Ð¸ пÑоизводиÑелÑноÑÑÑ ÑÑениÑ. ÐÑи ÑазмеÑке диÑков, иÑполÑзÑемÑÑ Ð´Ð»Ñ Ð¿Ñла, повÑоÑиÑе ÑазмеÑÐºÑ Ð¿ÐµÑвого диÑка на вÑоÑом. ÐÑполÑзÑйÑе `gpart backup` и `gpart restore` Ð´Ð»Ñ ÑпÑоÑÐµÐ½Ð¸Ñ ÑÑого пÑоÑеÑÑа. @@ -536,7 +565,6 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: none requested config: NAME STATE READ WRITE CKSUM @@ -545,14 +573,9 @@ config: errors: No known data errors # zpool attach mypool ada0p3 ada1p3 -Make sure to wait until resilvering finishes before rebooting. - -If you boot from pool 'mypool', you may need to update boot code on newly attached disk _ada1p3_. - -Assuming you use GPT partitioning and _da0_ is your new boot disk you may use the following command: - - gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0 +Make sure to wait until resilver is done before rebooting. # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1 +partcode written to ada1p1 bootcode written to ada1 # zpool status pool: mypool @@ -560,9 +583,9 @@ bootcode written to ada1 status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. - scan: resilver in progress since Fri May 30 08:19:19 2014 - 527M scanned out of 781M at 47.9M/s, 0h0m to go - 527M resilvered, 67.53% done + scan: resilver in progress since Sat Jul 11 11:15:25 2026 + 738M scanned at 105M/s, 522M issued at 74.6M/s, 781M total + 522M resilvered, 66.84% done, 00:00:03 to go config: NAME STATE READ WRITE CKSUM @@ -575,7 +598,7 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: resilvered 781M in 0h0m with 0 errors on Fri May 30 08:15:58 2014 + scan: resilvered 781M in 00:00:16 with 0 errors on Sat Jul 11 11:18:36 2026 config: NAME STATE READ WRITE CKSUM @@ -587,7 +610,7 @@ config: errors: No known data errors .... -ÐÑли добавление диÑков к ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ vdev невозможно, как в ÑлÑÑае Ñ RAID-Z, алÑÑеÑнаÑивнÑм меÑодом ÑвлÑеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ дÑÑгого vdev в пÑл. Ðобавление vdev повÑÑÐ°ÐµÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð·Ð° ÑÑÐµÑ ÑаÑпÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей Ð¼ÐµÐ¶Ð´Ñ vdev. ÐаждÑй vdev обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑÐ²Ð¾Ñ ÑобÑÑвеннÑÑ Ð¸Ð·Ð±ÑÑоÑноÑÑÑ. Ðозможно ÑмеÑивание Ñипов vdev, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº `mirror` и `RAID-Z`, но ÑÑо не ÑекомендÑеÑÑÑ. Ðобавление не избÑÑоÑного vdev к пÑлÑ, ÑодеÑжаÑÐµÐ¼Ñ mirror или RAID-Z vdev, подвеÑÐ³Ð°ÐµÑ ÑиÑÐºÑ Ð´Ð°Ð½Ð½Ñ Ðµ во вÑем пÑле. РаÑпÑеделение запиÑей ознаÑаеÑ, ÑÑо оÑказ не избÑÑоÑного диÑка пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº поÑеÑе ÑаÑÑи каждого блока, запиÑанного в пÑл. +ÐÑли добавление диÑков к ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ vdev невозможно, алÑÑеÑнаÑивнÑм меÑодом ÑвлÑеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ дÑÑгого vdev в пÑл. Ðобавление vdev повÑÑÐ°ÐµÑ Ð¿ÑоизводиÑелÑноÑÑÑ Ð·Ð° ÑÑÐµÑ ÑаÑпÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей Ð¼ÐµÐ¶Ð´Ñ vdev. ÐаждÑй vdev обеÑпеÑÐ¸Ð²Ð°ÐµÑ ÑÐ²Ð¾Ñ ÑобÑÑвеннÑÑ Ð¸Ð·Ð±ÑÑоÑноÑÑÑ. Ðозможно ÑмеÑивание Ñипов vdev, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº `mirror` и `RAID-Z`, но ÑÑо не ÑекомендÑеÑÑÑ. Ðобавление не избÑÑоÑного vdev к пÑлÑ, ÑодеÑжаÑÐµÐ¼Ñ mirror или RAID-Z vdev, подвеÑÐ³Ð°ÐµÑ ÑиÑÐºÑ Ð´Ð°Ð½Ð½Ñе во вÑем пÑле. Ð Ð°Ñ Ð¿Ñеделение запиÑей ознаÑаеÑ, ÑÑо оÑказ не избÑÑоÑного диÑка пÑÐ¸Ð²ÐµÐ´ÐµÑ Ðº поÑеÑе ÑаÑÑи каждого блока, запР¸Ñанного в пÑл. ZFS ÑаÑпÑеделÑÐµÑ Ð´Ð°Ð½Ð½Ñе по вÑем vdev. ÐапÑимеÑ, пÑи иÑполÑзовании двÑÑ Ð·ÐµÑкалÑнÑÑ vdev ÑÑо ÑакÑиÑеÑки ÑквиваленÑно RAID 10, где запиÑи ÑаÑпÑеделÑÑÑÑÑ Ð¿Ð¾ двÑм набоÑам зеÑкал. ZFS вÑделÑÐµÑ Ð¿ÑоÑÑÑанÑÑво Ñаким обÑазом, ÑÑо каждÑй vdev доÑÑÐ¸Ð³Ð°ÐµÑ 100% заполненноÑÑи одновÑеменно. ÐалиÑие vdev Ñ ÑазнÑм колиÑеÑÑвом Ñвободного меÑÑа ÑÐ½Ð¸Ð¶Ð°ÐµÑ Ð¿ÑоизводиÑелÑноÑÑÑ, Ñак как болÑÑе даннÑÑ Ð·Ð°Ð¿Ð¸ÑÑваеÑÑÑ Ð½Ð° менее заполненнÑй vdev. @@ -600,7 +623,7 @@ ZFS ÑаÑпÑеделÑÐµÑ Ð´Ð°Ð½Ð½Ñе по вÑем vdev. ÐапÑимеÑ, # zpool status pool: mypool state: ONLINE - scan: resilvered 781M in 0h0m with 0 errors on Fri May 30 08:19:35 2014 + scan: resilvered 781M in 00:00:16 with 0 errors on Sat Jul 11 12:11:56 2026 config: NAME STATE READ WRITE CKSUM @@ -612,13 +635,41 @@ config: errors: No known data errors # zpool add mypool mirror ada2p3 ada3p3 # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada2 +partcode written to ada2p1 bootcode written to ada2 # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada3 +partcode written to ada3p1 bootcode written to ada3 # zpool status pool: mypool state: ONLINE - scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014 + scan: resilvered 781M in 00:00:16 with 0 errors on Sat Jul 11 09:58:28 2026 +config: + + NAME STATE READ WRITE CKSUM + mypool ONLINE 0 0 0 + mirror-0 ONLINE 0 0 0 + ada0p3 ONLINE 0 0 0 + ada1p3 ONLINE 0 0 0 + mirror-1 ONLINE 0 0 0 + ada2p3 ONLINE 0 0 0 + ada3p3 ONLINE 0 0 0 + +errors: No known data errors +.... + +`zpool add` Ñакже пÑиÑоединÑÐµÑ Ð²ÑделеннÑе ÑÑÑÑойÑÑва жÑÑнала и кÑÑа к ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ Ð¿ÑлÑ. crossref:zfs[zfs-term-vdev-log,ÐÑÑнал] vdev Ñ ÑÐ°Ð½Ð¸Ñ Ð¶ÑÑнал намеÑений ZFS на оÑделÑном Ñ ÑанилиÑе Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ задеÑжкой, ÑÑкоÑÑÑ ÑÐ¸Ð½Ñ ÑоннÑе запиÑи, Ñакие как Ñе, ÑÑо вÑполнÑÑÑÑÑ Ð±Ð°Ð·Ð°Ð¼Ð¸ даннÑÑ Ð¸ NFS. ÐеÑкалиÑÑйÑе ÑÑÑÑойÑÑва жÑÑнала, поÑÐ¾Ð¼Ñ ÑÑо поÑеÑÑ Ð½ÐµÐ·ÐµÑкалиÑованного ÑÑÑÑойÑÑва жÑÑнала вмеÑÑе Ñ Ñбоем ÑиÑÑÐµÐ¼Ñ ÑÑÐ¾Ð¸Ñ Ð¿ÑÐ»Ñ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑекÑнд ÑÐ¸Ð½Ñ ÑоннÑÑ Ð·Ð°Ð¿Ð¸Ñей; Ñм. Ñаздел crossref:zfs[zfs-advanced-zil-slog,"Ð¡Ð¸Ð½Ñ ÑоннÑе запиÑи, ZIL и SLOG"] Ð´Ð»Ñ ÑекомендаÑий по ÑазмеÑÑ Ð¸ наÑÑÑойке. crossref:zfs[zfs -term-vdev-cache,ÐÑÑ] vdev ÑаÑÑиÑÑÐµÑ crossref:zfs[zfs-term-arc,ARC] вÑоÑÑм ÑÑовнем кÑÑа ÑÑÐµÐ½Ð¸Ñ Ð½Ð° бÑÑÑÑом Ñ ÑанилиÑе. УÑÑÑойÑÑва кÑÑа не ÑÑебÑÑÑ Ð¸Ð·Ð±ÑÑоÑноÑÑи, Ñак как ZFS вмеÑÑо ÑÑого ÑиÑÐ°ÐµÑ Ð»Ñбой блок, коÑоÑÑй не ÑдалоÑÑ Ð¿ÑоÑиÑаÑÑ Ð¸Ð· кÑÑа, Ñ Ð¸ÑÑ Ð¾Ð´Ð½ÑÑ Ð´Ð¸Ñков пÑла. СодеÑжимое кÑÑа, crossref:zfs[zfs-term-l2arc,L2ARC], по ÑмолÑÐ°Ð½Ð¸Ñ ÑÐ¾Ñ ÑанÑеÑÑÑ Ð¿Ð¾Ñле пеÑезагÑÑзки. + +ÐобавÑÑе зеÑкалÑнÑй жÑÑналÑнÑй vdev и NVMe-ÑÑÑÑойÑÑво кÑÑа к ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ Ð¿ÑлÑ: + +[source, shell] +.... +# zpool add mypool log mirror ada4p2 ada5p2 +# zpool add mypool cache nda0p2 +# zpool status mypool + pool: mypool + state: ONLINE + scan: resilvered 781M in 00:00:16 with 0 errors on Sat Jul 11 09:58:28 2026 config: NAME STATE READ WRITE CKSUM @@ -629,11 +680,17 @@ config: mirror-1 ONLINE 0 0 0 ada2p3 ONLINE 0 0 0 ada3p3 ONLINE 0 0 0 + logs + mirror-2 ONLINE 0 0 0 + ada4p2 ONLINE 0 0 0 + ada5p2 ONLINE 0 0 0 + cache + nda0p2 ONLINE 0 0 0 errors: No known data errors .... -Удаление ÑÑÑÑойÑÑв vdev из пÑла невозможно, а Ñдаление диÑков из зеÑкала возможно ÑолÑко пÑи ÑÐ¾Ñ Ñанении доÑÑаÑоÑной избÑÑоÑноÑÑи. ÐÑли в гÑÑппе зеÑкала оÑÑаÑÑÑÑ ÐµÐ´Ð¸Ð½ÑÑвеннÑй диÑк, ÑÑа гÑÑппа пеÑеÑÑÐ°ÐµÑ Ð±ÑÑÑ Ð·ÐµÑкалом и ÑÑановиÑÑÑ ÑÑÑайпом, ÑÑо подвеÑÐ³Ð°ÐµÑ Ð²ÐµÑÑ Ð¿Ñл ÑиÑÐºÑ Ð² ÑлÑÑае вÑÑ Ð¾Ð´Ð° из ÑÑÑÐ¾Ñ Ð¾ÑÑавÑегоÑÑ Ð´Ð¸Ñка. +Ðоманда `zpool detach` ÑдалÑÐµÑ Ð¾ÑделÑнÑе диÑки из зеÑкалÑного виÑÑÑалÑного ÑÑÑÑойÑÑва (vdev) пÑи ÑÑловии ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑаÑоÑной избÑÑоÑноÑÑи. ÐÑли в гÑÑппе зеÑкала оÑÑаÑÑÑÑ ÐµÐ´Ð¸Ð½ÑÑвеннÑй диÑк, ÑÑа гÑÑппа пеÑеÑÑÐ°ÐµÑ Ð±ÑÑÑ Ð·ÐµÑкалом и ÑÑановиÑÑÑ ÑÑÑайпом, ÑÑо подвеÑÐ³Ð°ÐµÑ Ð²ÐµÑÑ Ð¿Ñл ÑиÑÐºÑ Ð² ÑлÑÑае вÑÑ Ð¾Ð´Ð° из ÑÑÑÐ¾Ñ Ð¾ÑÑавÑегоÑÑ Ð´Ð¸Ñка. УдалиÑÑ Ð´Ð¸Ñк из ÑÑÑÑ Ð´Ð¸Ñковой зеÑкалÑной гÑÑппÑ: @@ -642,7 +699,7 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014 + scan: scrub repaired 0B in 00:01:11 with 0 errors on Sat Jul 11 03:14:02 2026 config: NAME STATE READ WRITE CKSUM @@ -657,7 +714,31 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: scrub repaired 0 in 0h0m with 0 errors on Fri May 30 08:29:51 2014 + scan: scrub repaired 0B in 00:01:11 with 0 errors on Sat Jul 11 03:14:02 2026 +config: + + NAME STATE READ WRITE CKSUM + mypool ONLINE 0 0 0 + mirror-0 ONLINE 0 0 0 + ada0p3 ONLINE 0 0 0 + ada1p3 ONLINE 0 0 0 + +errors: No known data errors +.... + +`zpool remove` ÑдалÑÐµÑ ÑелÑе vdev веÑÑ Ð½ÐµÐ³Ð¾ ÑÑÐ¾Ð²Ð½Ñ Ð¸Ð· пÑла. ZFS ÑвакÑиÑÑÐµÑ vdev, копиÑÑÑ Ð²Ñе вÑделеннÑе ÐµÐ¼Ñ Ð´Ð°Ð½Ð½Ñе на дÑÑгие vdev в пÑле, а заÑем оÑÑоединÑÐµÑ Ð´Ð¸Ñки. Удаление ÑабоÑÐ°ÐµÑ Ð´Ð»Ñ Ð³Ð¾ÑÑÑÐ¸Ñ ÑезеÑвов, кÑÑа, жÑÑналов, ÑпеÑиалÑнÑÑ Ð¸ дедÑпликаÑионнÑÑ ÑÑÑÑойÑÑв, а Ñакже Ð´Ð»Ñ data vdev, коÑоÑÑе ÑвлÑÑÑÑÑ Ð¾Ð´Ð¸Ð½Ð¾ÑнÑми диÑками или зеÑкалами. Data vdev не могÑÑ Ð±ÑÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ñ Ð¸Ð· пÑлов, ÑодеÑжаÑÐ¸Ñ vdev RAID-Z веÑÑ Ð½ÐµÐ³Ð¾ ÑÑовнÑ, и вÑе vdev веÑÑ Ð½ÐµÐ³Ð¾ ÑÑÐ¾Ð²Ð½Ñ Ð² пÑле Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзова ÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñй `ashift`. ÐвакÑаÑÐ¸Ñ Ð²ÑполнÑеÑÑÑ Ð² Ñоновом Ñежиме, и пÑл оÑÑаеÑÑÑ Ð¾Ð½Ð»Ð°Ð¹Ð½ на пÑоÑÑжении вÑего п ÑоÑеÑÑа; ÑледиÑе за пÑогÑеÑÑом Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool status`. ÐоÑле завеÑÑÐµÐ½Ð¸Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ZFS ÑÐ¾Ñ ÑанÑÐµÑ ÑаблиÑÑ Ð² памÑÑи, ÑопоÑÑавлÑÑÑÑÑ Ð±Ð»Ð¾ÐºÐ¸ Ñдаленного vdev Ñ Ð¸Ñ Ð½Ð¾Ð²Ñми меÑÑоположениÑми. ТаблиÑа неболÑÑаÑ, но поÑÑоÑннаÑ; `zpool remove -n` оÑÐµÐ½Ð¸Ð²Ð°ÐµÑ Ð¸ÑполÑзование памÑÑи пеÑед наÑалом ÑдалениÑ. + +УдалиÑе один из двÑÑ Ð·ÐµÑкалÑнÑÑ vdev из пÑла: + +[source, shell] +.... +# zpool remove mypool mirror-1 +# zpool status mypool + pool: mypool + state: ONLINE + scan: scrub repaired 0B in 00:01:11 with 0 errors on Sat Jul 11 03:14:02 2026 +remove: Evacuation of mirror in progress since Sat Jul 11 10:15:31 2026 + 1.71G copied out of 2.32G at 111M/s, 73.71% done, 0h0m to go config: NAME STATE READ WRITE CKSUM @@ -665,10 +746,139 @@ config: mirror-0 ONLINE 0 0 0 ada0p3 ONLINE 0 0 0 ada1p3 ONLINE 0 0 0 + mirror-1 ONLINE 0 0 0 + ada2p3 ONLINE 0 0 0 + ada3p3 ONLINE 0 0 0 + +errors: No known data errors +# zpool status mypool + pool: mypool + state: ONLINE + scan: scrub repaired 0B in 00:01:11 with 0 errors on Sat Jul 11 03:14:02 2026 +remove: Removal of vdev 1 copied 2.32G in 0h0m, completed on Sat Jul 11 10:15:53 2026 + 10.9K memory used for removed device mappings +config: + + NAME STATE READ WRITE CKSUM + mypool ONLINE 0 0 0 + mirror-0 ONLINE 0 0 0 + ada0p3 ONLINE 0 0 0 + ada1p3 ONLINE 0 0 0 + indirect-1 ONLINE 0 0 0 + +errors: No known data errors +.... + +ÐапиÑÑ `indirect-1` ÑвлÑеÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸Ñелем Ð´Ð»Ñ Ð¿ÐµÑеоÑобÑажÑннÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² ÑдалÑнного vdev и не ÑодеÑÐ¶Ð¸Ñ Ð´Ð¸Ñков. ÐÑмениÑе вÑполнÑÑÑееÑÑ Ñдаление Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool remove -s`. + +[[zfs-zpool-raidz-expansion]] +=== РаÑÑиÑение RAID-Z + +РаÑÑиÑение RAID-Z ÑвелиÑÐ¸Ð²Ð°ÐµÑ ÑÑÑеÑÑвÑÑÑий vdev RAID-Z на один диÑк за Ñаз, не изменÑÑ ÐµÐ³Ð¾ ÑÑÐ¾Ð²ÐµÐ½Ñ ÑÑÑноÑÑи. + +[NOTE] +==== +РаÑÑиÑение RAID-Z ÑÑебÑÐµÑ OpenZFS 2.3 или более поздней веÑÑии, впеÑвÑе доÑÑÑпной в FreeBSD 15.0. ÐÑлÑ, ÑозданнÑе в более ÑÐ°Ð½Ð½Ð¸Ñ Ð²ÐµÑÑиÑÑ , ÑÑебÑÑÑ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ ÑÑнкÑии `raidz_expansion` Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool upgrade` пеÑед ÑаÑÑиÑением. +==== + +ЧÑÐ¾Ð±Ñ ÑаÑÑиÑиÑÑ vdev RAID-Z, вÑполниÑе `zpool attach`, Ñказав Ð¸Ð¼Ñ vdev RAID-Z, как показано в `zpool status`, и новÑй диÑк: + +[source, shell] +.... +# zpool attach mypool raidz2-0 ada6p3 +.... + +РаÑÑиÑение пеÑеÑаÑпÑеделÑÐµÑ ÑÑÑеÑÑвÑÑÑие даннÑе по ÑвелиÑÐµÐ½Ð½Ð¾Ð¼Ñ Ð½Ð°Ð±Ð¾ÑÑ Ð´Ð¸Ñков в Ñоновом Ñежиме, пÑи ÑÑом пÑл оÑÑаеÑÑÑ online и иÑполÑзÑеÑÑÑ. ÐобавÑÑе `-w`, ÑÑÐ¾Ð±Ñ Ð·Ð°ÑÑавиÑÑ `zpool attach` ожидаÑÑ Ð·Ð°Ð²ÐµÑÑÐµÐ½Ð¸Ñ ÑаÑÑиÑениÑ. `zpool status` ÑообÑÐ°ÐµÑ Ð¾ Ñ Ð¾Ð´Ðµ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² ÑÑÑоке `expand:`: + +[source, shell] +.... +# zpool status mypool + pool: mypool + state: ONLINE + scan: scrub repaired 0B in 06:14:36 with 0 errors on Sat Jul 11 04:31:19 2026 +expand: expansion of raidz2-0 in progress since Sat Jul 11 09:42:12 2026 + 1.83T / 5.36T copied at 186M/s, 34.14% done, 05:31:43 to go +config: + + NAME STATE READ WRITE CKSUM + mypool ONLINE 0 0 0 + raidz2-0 ONLINE 0 0 0 + ada0p3 ONLINE 0 0 0 + ada1p3 ONLINE 0 0 0 + ada2p3 ONLINE 0 0 0 + ada3p3 ONLINE 0 0 0 + ada4p3 ONLINE 0 0 0 + ada5p3 ONLINE 0 0 0 + ada6p3 ONLINE 0 0 0 errors: No known data errors .... +Ðогда ÑаÑÑиÑение завеÑÑаеÑÑÑ, ÑмкоÑÑÑ Ð½Ð¾Ð²Ð¾Ð³Ð¾ диÑка ÑÑановиÑÑÑ Ð´Ð¾ÑÑÑпной: + +[source, shell] +.... +# zpool status mypool | grep expand: +expand: expanded raidz2-0 copied 5.36T in 08:23:35, on Sat Jul 11 18:05:47 2026 +.... + +Ðлоки, запиÑаннÑе до ÑаÑÑиÑениÑ, ÑÐ¾Ñ ÑанÑÑÑ Ð¿Ñежнее ÑооÑноÑение даннÑÑ Ð¸ ÑÑÑноÑÑи и пÑодолжаÑÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð¼ÐµÑÑо ÑооÑвеÑÑÑвÑÑÑим обÑазом. Таким обÑазом, полнÑй пÑиÑоÑÑ ÑмкоÑÑи Ð¾Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ диÑка пÑименÑеÑÑÑ Ðº даннÑм, запиÑаннÑм поÑле ÑаÑÑиÑениÑ, Ñогда как ÑÑаÑÑе даннÑе вÑигÑÑваÑÑ ÑолÑко пÑи пеÑезапиÑи, напÑимеÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ crossref:zfs[zfs-zfs-rewrite,`zfs rewrite`]. ÐовÑоÑиÑе пÑоÑедÑÑÑ Ð´Ð»Ñ ÑвелиÑÐµÐ½Ð¸Ñ vdev на неÑколÑко диÑков, подклÑÑÐ°Ñ Ð¸Ñ Ð¿Ð¾ одномÑ. + +[[zfs-zpool-draid]] +=== ÐÑÐ»Ñ dRAID + +dRAID â ÑÑо ваÑÐ¸Ð°Ð½Ñ RAID-Z, коÑоÑÑй ÑаÑпÑеделÑÐµÑ ÑезеÑвнÑÑ ÐµÐ¼ÐºÐ¾ÑÑÑ Ð³Ð¾ÑÑÑего ÑезеÑва по вÑем диÑкам в vdev. crossref:zfs[zfs-term-vdev-draid,dRAID] vdev ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· внÑÑÑÐµÐ½Ð½Ð¸Ñ Ð³ÑÑпп RAID-Z плÑÑ Ð¾Ð¿ÑионалÑнÑÑ _ÑаÑпÑеделеннÑÑ ÑезеÑвов_, ÑавномеÑно ÑаÑпÑеделеннÑÑ Ð¿Ð¾ ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ Ð´Ð¸ÑкÑ. Ðогда диÑк вÑÑ Ð¾Ð´Ð¸Ñ Ð¸Ð· ÑÑÑоÑ, ZFS вÑполнÑÐµÑ Ð¿ÐµÑеÑÑÑоение в ÑаÑпÑеделеннÑй ÑезеÑв, ÑиÑÐ°Ñ Ð¸ запиÑÑÐ²Ð°Ñ Ð½Ð° вÑе оÑÑавÑиеÑÑ Ð´Ð¸Ñки паÑаллелÑно, завеÑÑÐ°Ñ Ð¿ÑоÑеÑÑ Ð·Ð° Ð´Ð¾Ð»Ñ Ð²Ñемени, коÑоÑое ÑÑебÑеÑÑÑ Ð´Ð»Ñ ÑеÑилвеÑинга на один ÑезеÑвнÑй диÑк. Ðамена вÑÑедÑего из ÑÑÑÐ¾Ñ Ð´Ð¸Ñка заÑем пеÑеÑÑÑÐ°Ð¸Ð²Ð°ÐµÑ ÐµÐ³Ð¾ из ÑаÑÐ¿Ñ ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑезеÑва, воÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ð¿Ð¾Ð»Ð½ÑÑ Ð·Ð°ÑиÑÑ. dRAID оÑиенÑиÑован на пÑÐ»Ñ Ñ Ð¼Ð½Ð¾Ð¶ÐµÑÑвом диÑков, где вÑÐµÐ¼Ñ Ð¿ÐµÑеÑÑÑÐ¾ÐµÐ½Ð¸Ñ RAID-Z ÑÑановиÑÑÑ Ð¾Ð¿Ð°Ñно болÑÑим. + +Тип vdev опиÑÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð»Ð½ÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÑ, ÑоглаÑно man:zpoolconcepts[7]: + +[.programlisting] +.... +draid[parity][:datad][:childrenc][:sparess] +.... + +_parity_ â ÑÑо ÑÑÐ¾Ð²ÐµÐ½Ñ ÑÑÑноÑÑи внÑÑÑÐµÐ½Ð½Ð¸Ñ Ð³ÑÑпп, Ð¾Ñ 1 до 3, по ÑмолÑÐ°Ð½Ð¸Ñ 1. _data_ â ÑÑо колиÑеÑÑво ÑÑÑÑойÑÑв даннÑÑ Ð½Ð° гÑÑÐ¿Ð¿Ñ ÑезеÑвиÑованиÑ, по ÑмолÑÐ°Ð½Ð¸Ñ 8. _children_ â ÑÑо обÑее колиÑеÑÑво диÑков, ÑлÑжаÑее пеÑекÑеÑÑной пÑовеÑкой пÑи пеÑеÑиÑлении Ð¼Ð½Ð¾Ð³Ð¸Ñ ÑÑÑÑойÑÑв. _spares_ â ÑÑо колиÑеÑÑво ÑаÑпÑеделеннÑÑ Ð³Ð¾ÑÑÑÐ¸Ñ ÑезеÑвов, по ÑмолÑÐ°Ð½Ð¸Ñ 0. + +СоздайÑе пÑл из 24-диÑкового vdev dRAID Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ ÑеÑноÑÑÑÑ, 8 диÑками даннÑÑ Ð½Ð° гÑÑÐ¿Ð¿Ñ Ð¸Ð·Ð±ÑÑоÑноÑÑи и 2 ÑаÑпÑеделеннÑми ÑезеÑвнÑми диÑками: + +[source, shell] +.... +# zpool create mypool draid2:8d:24c:2s ada0 ada1 ada2 ada3 ada4 ada5 ada6 ada7 ada8 ada9 ada10 ada11 ada12 ada13 ada14 ada15 ada16 ada17 ada18 ada19 ada20 ada21 ada22 ada23 +.... + +РаÑпÑеделеннÑе запаÑнÑе диÑки оÑобÑажаÑÑÑÑ Ð² Ñазделе `spares` в `zpool status`, Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ вÑоде `draid2-0-0` Ð´Ð»Ñ Ð¿ÐµÑвого запаÑного диÑка пеÑвого vdev. + +dRAID Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°ÐµÑ ÑÑÑекÑивноÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑÑÑанÑÑва на ÑкоÑоÑÑÑ Ð¿ÐµÑеÑÑÑоениÑ. РоÑлиÑие Ð¾Ñ RAID-Z, dRAID иÑполÑзÑÐµÑ ÑикÑиÑованнÑÑ ÑиÑÐ¸Ð½Ñ Ð¿Ð¾Ð»Ð¾ÑÑ, дополнÑÑ Ð¼ÐµÐ»ÐºÐ¸Ðµ запиÑи нÑлÑми. ÐÑи ÑÑандаÑÑнÑÑ 8 диÑÐºÐ°Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ ÑекÑоÑÐ°Ñ 4 ÐРминималÑное вÑделение ÑоÑÑавлÑÐµÑ 32 ÐÐ, ÑÑо ÑÐ½Ð¸Ð¶Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ ÑмкоÑÑÑ Ð¸ ÑÑÑекÑивноÑÑÑ ÑжаÑÐ¸Ñ Ð´Ð»Ñ Ð½Ð°Ð±Ð¾Ñов даннÑÑ , где пÑеобладаÑÑ Ð¼ÐµÐ»ÐºÐ¸Ðµ блоки. ÐмкоÑÑÑ ÑаÑпÑеделÑннÑÑ Ð·Ð°Ð¿Ð°ÑнÑÑ Ð´Ð¸Ñков Ñакже ÑезеÑвиÑÑеÑÑÑ Ð·Ð°Ñанее, нРµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ Ñого, пÑоизойдÑÑ Ð»Ð¸ Ñбой диÑка когда-либо. ÐбÑединение пÑла dRAID Ñо crossref:zfs[zfs-zpool-special,ÑпеÑÐ¸Ð°Ð»Ñ Ð½Ñм vdev] ÑдеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¼ÐµÑаданнÑе и мелкие блоки вне ÑиÑÐ¾ÐºÐ¸Ñ Ð¿Ð¾Ð»Ð¾Ñ Ð¸ возвÑаÑÐ°ÐµÑ Ð±Ð¾Ð»ÑÑÑÑ ÑаÑÑÑ Ð¿Ð¾ÑеÑÑнной ÑÑÑекÑивноÑÑи. ÐÐ»Ñ Ð¿Ñлов Ñ Ð½ÐµÑколÑкими диÑками RAID-Z оÑÑаÑÑÑÑ Ð»ÑÑÑим вÑбоÑом. + +[[zfs-zpool-special]] +=== СпеÑиалÑнÑе клаÑÑÑ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ + +СпеÑиалÑнÑе клаÑÑÑ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÑивÑзÑваÑÑ vdev-ÑÑÑÑойÑÑва к конкÑеÑнÑм Ñипам даннÑÑ Ð¿Ñла. Vdev crossref:zfs[zfs-term-vdev-special,special] Ñ ÑÐ°Ð½Ð¸Ñ Ð¼ÐµÑаданнÑе пÑла, Ñакие как непÑÑмÑе блоки и dnode, а Ñакже, опÑионалÑно, блоки даннÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑÐ¸Ñ Ñайлов. Vdev `dedup` Ñ ÑÐ°Ð½Ð¸Ñ ÑаблиÑÑ crossref:zfs[zfs-term-deduplication,дедÑпликаÑии]. РазмеÑение ÑÑÐ¸Ñ Ð¼ÐµÑаданнÑÑ Ð½Ð° бÑÑÑÑÑÑ ÑÑÑÑойÑÑÐ²Ð°Ñ , ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº зеÑкала NVMe, ÑÑкоÑÑÐµÑ Ð¾Ð¿ÐµÑаÑии, ÑÑебоваÑелÑнÑе к меÑаданнÑм, напÑÐ¸Ð¼ÐµÑ Ð¾Ð±Ñ Ð¾Ð´ каÑалогов, `zfs list` и пР¾Ð¸Ñк пÑи дедÑпликаÑии в пÑÐ»Ð°Ñ , ÑоÑÑоÑÑÐ¸Ñ Ð² оÑÑалÑном из более медленнÑÑ Ð´Ð¸Ñков. + +ÐобавÑÑе зеÑкалÑнÑй ÑпеÑиалÑнÑй vdev к ÑÑÑеÑÑвÑÑÑÐµÐ¼Ñ Ð¿ÑлÑ: + +[source, shell] +.... +# zpool add mypool special mirror nda0 nda1 +.... + +ÐовÑе вÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼ÐµÑаданнÑÑ Ð·Ð°Ñем напÑавлÑÑÑÑÑ Ð² ÑпеÑиалÑнÑй vdev; ÑÑÑеÑÑвÑÑÑие меÑаданнÑе оÑÑаÑÑÑÑ Ð½Ð° меÑÑе, пока не бÑдÑÑ Ð¿ÐµÑезапиÑанÑ. + +УÑÑановка ÑвойÑÑва `special_small_blocks` набоÑа даннÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑпеÑиалÑÐ½Ð¾Ð¼Ñ vdev Ñ ÑаниÑÑ Ð±Ð»Ð¾ÐºÐ¸ даннÑÑ ÑазмеÑом до Ñказанного знаÑениÑ: + +[source, shell] +.... +# zfs set special_small_blocks=16K mypool/projects +.... + +ÐопÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ â нолÑ, коÑоÑÑй оÑклÑÑÐ°ÐµÑ Ñ Ñанение блоков даннÑÑ Ð² ÑпеÑиалÑном клаÑÑе, или ÑÑÐµÐ¿ÐµÐ½Ñ Ð´Ð²Ð¾Ð¹ÐºÐ¸ Ð¾Ñ 512 Ð±Ð°Ð¹Ñ Ð´Ð¾ 1 ÐРв FreeBSD 14.x; FreeBSD 15.0 пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð²Ð¿Ð»Ð¾ÑÑ Ð´Ð¾ макÑималÑного ÑазмеÑа блока в 16 ÐÐ. УÑÑановка ÑÑого ÑвойÑÑва на `recordsize` набоÑа даннÑÑ Ð¾ÑпÑавлÑÐµÑ Ð²Ñе блоки даннÑÑ ÑÑого набоÑа даннÑÑ Ð² ÑпеÑиалÑнÑй клаÑÑ. Ðогда ÑпеÑиалÑнÑй vdev заполнÑеÑÑÑ, новÑе вÑÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑекаÑÑ Ð¾Ð±ÑаÑно в обÑÑнÑй клаÑÑ Ð²Ð¼ÐµÑÑо ÑбоÑ. + +[WARNING] +==== +СпеÑиалÑнÑй vdev â ÑÑо не кÑÑ. Ðн Ñ ÑÐ°Ð½Ð¸Ñ ÐµÐ´Ð¸Ð½ÑÑвеннÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¼ÐµÑаданнÑÑ Ð¿Ñла, вÑделеннÑÑ ÐµÐ¼Ñ, и его поÑеÑÑ ÑниÑÑÐ¾Ð¶Ð°ÐµÑ Ð¿Ñл. СоглаÑÑйÑе избÑÑоÑноÑÑÑ special и dedup vdev Ñ Ð¸Ð·Ð±ÑÑоÑноÑÑÑÑ data vdev, напÑимеÑ, иÑполÑзÑÑ Ð·ÐµÑкало. +==== + +Удаление ÑпеÑиалÑного или дедÑпликаÑионного vdev Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool remove` возможно Ñ ÑÑÑÑом огÑаниÑений, опиÑаннÑÑ Ð² crossref:zfs[zfs-zpool-attach,Ðобавление и Ñдаление ÑÑÑÑойÑÑв]. Ðа пÑакÑике ÑÑебование ÑооÑвеÑÑÑÐ²Ð¸Ñ `ashift` ÑаÑÑо пÑепÑÑÑÑвÑÐµÑ ÑдалениÑ, когда ÑпеÑиалÑнÑй vdev иÑполÑзÑÐµÑ ÑÑÑÑойÑÑва Ñ Ð¸Ð½Ñм ÑазмеÑом ÑекÑоÑа, Ñем data vdev. + [[zfs-zpool-status]] === ÐÑовеÑка ÑоÑÑоÑÐ½Ð¸Ñ Ð¿Ñла @@ -679,7 +889,7 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: scrub repaired 0 in 2h25m with 0 errors on Sat Sep 14 04:25:50 2013 + scan: scrub repaired 0B in 02:25:36 with 0 errors on Sat Jul 11 06:51:26 2026 config: NAME STATE READ WRITE CKSUM @@ -695,6 +905,17 @@ config: errors: No known data errors .... +ÐпÑии подÑÑÑаиваÑÑ Ð²Ñвод под конкÑеÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ: + +* `-v` вÑÐ²Ð¾Ð´Ð¸Ñ Ð¿Ð¾Ð´ÑобнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± оÑÐ¸Ð±ÐºÐ°Ñ Ð´Ð°Ð½Ð½ÑÑ , пеÑаÑÐ°Ñ Ð¿Ð¾Ð»Ð½Ñй ÑпиÑок оÑибок, обнаÑÑженнÑÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа поÑледней полной оÑиÑÑки пÑла, вклÑÑÐ°Ñ Ð¸Ð¼ÐµÐ½Ð° заÑÑонÑÑÑÑ Ñайлов. +* `-x` оÑобÑÐ°Ð¶Ð°ÐµÑ ÑоÑÑоÑние пÑлов Ñ Ð¾Ñибками или пÑлов, коÑоÑÑе в пÑоÑивном ÑлÑÑае недоÑÑÑпнÑ, ÑкÑÑÐ²Ð°Ñ Ð¸ÑпÑавнÑе пÑлÑ. +* `-s` оÑобÑÐ°Ð¶Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво медленнÑÑ Ð¾Ð¿ÐµÑаÑий ввода-вÑвода на каждом конеÑном vdev, Ñо еÑÑÑ Ð¾Ð¿ÐµÑаÑий, коÑоÑÑе не завеÑÑилиÑÑ Ð² ÑеÑение 30 ÑекÑнд. +* `-e` оÑобÑÐ°Ð¶Ð°ÐµÑ ÑолÑко неиÑпÑавнÑе vdev, ÑокÑаÑÐ°Ñ Ð²Ñвод Ð´Ð»Ñ Ð¿Ñлов Ñ Ð±Ð¾Ð»ÑÑим колиÑеÑÑвом ÑÑÑÑойÑÑв; ÑÑÐ¾Ñ Ñлаг ÑÑебÑÐµÑ FreeBSD 14.1 или более поздней веÑÑии. +* `-p` оÑобÑÐ°Ð¶Ð°ÐµÑ ÑиÑла как ÑоÑнÑе, ÑазбиÑаемÑе знаÑÐµÐ½Ð¸Ñ Ð²Ð¼ÐµÑÑо окÑÑглÑннÑÑ , ÑдобоÑиÑаемÑÑ . +* `-t` оÑобÑÐ°Ð¶Ð°ÐµÑ ÑÑаÑÑÑ crossref:zfs[zfs-zpool-trim,TRIM] Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ vdev. + +См. man:zpool-status[8] Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ ÑпиÑка опÑий. + [[zfs-zpool-clear]] === СбÑÐ¾Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð¾Ñибки @@ -712,7 +933,6 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: none requested config: NAME STATE READ WRITE CKSUM @@ -725,11 +945,11 @@ errors: No known data errors # zpool replace mypool ada1p3 ada2p3 Make sure to wait until resilvering finishes before rebooting. -When booting from the pool 'zroot', update the boot code on the newly attached disk 'ada2p3'. +When booting from the pool 'mypool', update the boot code on the newly attached disk 'ada2p3'. -Assuming GPT partitioning is used and [.filename]#da0# is the new boot disk, use the following command: +Assuming GPT partitioning is used and ada0 is the new boot disk, use the following command: - gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0 + gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0 # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada2 # zpool status pool: mypool @@ -737,9 +957,9 @@ Assuming GPT partitioning is used and [.filename]#da0# is the new boot disk, use status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. - scan: resilver in progress since Mon Jun 2 14:21:35 2014 - 604M scanned out of 781M at 46.5M/s, 0h0m to go - 604M resilvered, 77.39% done + scan: resilver in progress since Sat Jul 11 14:21:35 2026 + 781M / 781M scanned, 604M / 781M issued at 101M/s + 604M resilvered, 77.39% done, 00:00:01 to go config: NAME STATE READ WRITE CKSUM @@ -754,7 +974,7 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: resilvered 781M in 0h0m with 0 errors on Mon Jun 2 14:21:52 2014 + scan: resilvered 781M in 00:00:17 with 0 errors on Sat Jul 11 14:21:52 2026 config: NAME STATE READ WRITE CKSUM @@ -766,6 +986,8 @@ config: errors: No known data errors .... +Ðа зеÑкалÑнÑÑ vdev-ÑÑÑÑойÑÑÐ²Ð°Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ `-s` к `zpool replace` или `zpool attach` вÑполнÑÐµÑ _поÑледоваÑелÑное воÑÑÑановление_ вмеÑÑо воÑÑÑанавливаÑÑего ÑеÑилÑвеÑинга. ÐоÑледоваÑелÑное воÑÑÑановление копиÑÑÐµÑ Ð´Ð°Ð½Ð½Ñе в поÑÑдке ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° диÑке без пÑовеÑки конÑÑолÑнÑÑ ÑÑмм каждого блока, воÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ð¸Ð·Ð±ÑÑоÑноÑÑÑ Ð³Ð¾Ñаздо бÑÑÑÑее. ÐоÑколÑÐºÑ ÐºÐ¾Ð¿Ð¸Ñование пÑопÑÑÐºÐ°ÐµÑ Ð¿ÑовеÑÐºÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑмм, ZFS авÑомаÑиÑеÑки запÑÑÐºÐ°ÐµÑ crossref:zfs[zfs-zpool-scrub,scrub] пÑла поÑле завеÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ÑледоваÑелÑного воÑÑÑановлениÑ. ÐоÑледоваÑелÑное воÑÑÑановление ÑабоÑÐ°ÐµÑ Ð½Ð ° зеÑкалÑнÑÑ Ð¸ crossref:zfs[zfs-zpool-draid,dRAID] vdev-ÑÑÑÑойÑÑÐ²Ð°Ñ , но не на RAID-Z. ÐеÑезапÑÑÑиÑе ÑекÑÑий resilver Ñ Ð½Ð°Ñала Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool resilver _mypool_`. + [[zfs-zpool-resilver]] === ÐбÑабоÑка неиÑпÑавнÑÑ ÑÑÑÑойÑÑв @@ -785,8 +1007,7 @@ errors: No known data errors status: One or more devices could not be opened. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Attach the missing device and online it using 'zpool online'. - see: http://illumos.org/msg/ZFS-8000-2Q - scan: none requested + see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-2Q config: NAME STATE READ WRITE CKSUM @@ -803,9 +1024,9 @@ errors: No known data errors status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. - scan: resilver in progress since Mon Jun 2 14:52:21 2014 - 641M scanned out of 781M at 49.3M/s, 0h0m to go - 640M resilvered, 82.04% done + scan: resilver in progress since Sat Jul 11 14:52:21 2026 + 781M / 781M scanned, 641M / 781M issued at 128M/s + 640M resilvered, 82.04% done, 00:00:01 to go config: NAME STATE READ WRITE CKSUM @@ -820,7 +1041,7 @@ errors: No known data errors # zpool status pool: mypool state: ONLINE - scan: resilvered 781M in 0h0m with 0 errors on Mon Jun 2 14:52:38 2014 + scan: resilvered 781M in 00:00:17 with 0 errors on Sat Jul 11 14:52:38 2026 config: NAME STATE READ WRITE CKSUM @@ -832,10 +1053,95 @@ config: errors: No known data errors .... +[[zfs-zpool-spares]] +=== ÐоÑÑÑие ÑезеÑвнÑе диÑки и авÑомаÑиÑеÑÐºÐ°Ñ Ð·Ð°Ð¼ÐµÐ½Ð° Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ zfsd + +ÐÑÐ»Ñ Ñ Ð¸Ð·Ð±ÑÑоÑнÑми vdev могÑÑ ÑегиÑÑÑиÑоваÑÑ crossref:zfs[zfs-term-vdev-spare,гоÑÑÑие ÑезеÑвнÑе] диÑки, коÑоÑÑе Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ð² Ñежиме Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ Ð²ÑÑедÑего из ÑÑÑÐ¾Ñ ÑÑÑÑойÑÑва. РезеÑвнÑй диÑк должен бÑÑÑ Ð½Ðµ менÑÑе ÑÑÑÑойÑÑва, коÑоÑое он заменÑеÑ. УкажиÑе ÑезеÑвнÑе диÑки пÑи Ñоздании пÑла, пеÑеÑиÑлив Ð¸Ñ Ð¿Ð¾Ñле клÑÑевого Ñлова `spare`, как в `zpool create _mypool_ mirror _ada0p3_ _ada1p3_ spare _ada3p3_`, или добавÑÑе Ð¸Ñ Ð² ÑÑÑеÑÑвÑÑÑий пÑл Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool add`: + +[source, shell] +.... +# zpool add mypool spare ada3p3 +# zpool status + pool: mypool + state: ONLINE +config: + + NAME STATE READ WRITE CKSUM + mypool ONLINE 0 0 0 + mirror-0 ONLINE 0 0 0 + ada0p3 ONLINE 0 0 0 + ada1p3 ONLINE 0 0 0 + spares + ada3p3 AVAIL + +errors: No known data errors +.... + +ÐапаÑной диÑк оÑÑаеÑÑÑ Ð½ÐµÐ¸ÑполÑзÑемÑм, оÑобÑажаÑÑÑ ÐºÐ°Ðº `AVAIL`, пока ÑÑÑÑойÑÑво не вÑÐ¹Ð´ÐµÑ Ð¸Ð· ÑÑÑоÑ. ÐкÑивиÑÑйÑе запаÑной диÑк вÑÑÑнÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ `zpool replace`, Ñказав оÑказавÑее ÑÑÑÑойÑÑво и запаÑной диÑк: + +[source, shell] +.... +# zpool replace mypool ada1p3 ada3p3 +# zpool status *** 19130 LINES SKIPPED ***