• slider image 168
:::
條列式新聞
新聞載入中,請稍後...

5-1-1 建raid1

1.raid1


 

raid1即mirror

pve wiki上的教法,建 raid1 語法:

zpool create 儲存池名稱 raid格式 裝置名稱
zpool create -m 掛載點 儲存池名稱 裝置名稱
zpool create -f -o ashift=12 儲存池名稱 mirror 裝置1 裝置2
zpool的用法詳細說明

這段主要就講這一行指令

zpool create -f -o ashift=12 vic1 mirror sdb sdc

上面這個指令會建立一個 vic1 的儲存池(storage pool)、自動產生zfs檔案系統和掛載點(預設都是在系統的根目錄底下),並且會自動掛載該檔案系統。

 

一個指令就幫你做了這麼多事,真是簡便到有點不太習慣,它把我這些全都做了:
建raid指令mdadm、格式化mkfs.ext4、建掛載點mkdir /mnt/vic1、掛載mount

註: 裝置名寫 sdc 即可,也可寫全路徑名稱 /dev/sdc
註2:這一頁舊資料都有提到了,也可以用 ls /dev/disk/by-id 的方式來建儲存池,因為它是硬碟上的序號,比較不會變動。
注意要找那個帶廠牌、型號、序號的那個才是哦!
範例如下:
ls -al /dev/disk/by-id
ata-TOSHIBA_MG04ACA400N_178IK6ORFVLC -> ../../sdb
ata-TOSHIBA_MG04ACA400N_178IK6OSFVLC -> ../../sda
注記一下,有空時再來研究 vdev_id 這個指令和 vdev_id.conf 這檔要怎麼設定,它們都可用 man 來查看。

可用參數說明:

 

-m 指定掛載點,這個掛載點可不用先建資料夾。若已建資料夾也沒關係,但該資料夾內有檔案則會報錯
-f Forces use of vdevs, 即便它正在使用中或有其它的衝突。並非所有裝置都可靠此指令解決。
-o ashift=12 是指先進格式化(4K)的硬碟所需要下的參數。但新版的zpool本身已有支援4K sector的功能了,所以不用特別指定這個參數。

4K問題參考資料:心誌Silent Melodydelphji's Chaos
若想查你的 zpool 建立時是否有使用 ashift 指定12 可用此指令zdb |grep ashift來查詢那個數值是否等於12

 

若你有4顆硬碟想要建mirror的話,會建議你這麼下指令:

 

zpool create vic1 mirror sdb sdc mirror sdd sde

這樣你建出來的 raid 會變成 raid10 效能會比較好。
或是你一開始只有兩顆硬碟先建mirror了,後來想要再加兩顆進去,指令是這麼下的
zpool create vic1 mirror sdb sdc
zpool add vic1 mirror sdd sde

使用zpool statu 看的效果如下:

NAME		STATE		READ		WRITE		CKSUM
vic1		ONLINE		0		0		0
mirror-0	ONLINE		0		0		0
  sdb		ONLINE		0		0		0
  sdc		ONLINE		0		0		0
mirror-1	ONLINE		0		0		0
  sdd		ONLINE		0		0		0
  sde		ONLINE		0		0		0

 

 

不建議使用這樣的方式來下指令
zpool create vic1 mirror sdb sdc sdd sde

若想建立單顆硬碟的儲池存指令語法:

zpool create 儲存池名稱 裝置名稱

zfs 在預設的情況下,不帶任何參數所建立的儲存池就是raid0
裝置名稱可以寫成 /dev/sdb 或簡寫成 sdb 都可以
例:
zpool create vic2 sdb

若你一開始只是建立單碟,之後想要多加一顆進這個儲存池以達加速效果,也很容易實現

zpool add vic2 /dev/sdc

attach指令說明
zpool attach 這個指令是用來加硬碟,但它只能加硬碟進mirrors的最上面那顆硬碟裡


錯誤訊息參考:
$zpool create test1 sdd
invalid vdev specification
use '-f' to override the following errors:
/dev/sdd does not contain an EFI label but it may contain partition
information in the MBR.
若出現以上的錯誤訊息,大意是指 sdd 已有分割區了,使用參數 -f 來強制覆蓋過去即 $zpool create -f test1 sdd


:::
展開 | 闔起

文章類別

書籍目錄

展開 | 闔起

線上使用者

12人線上 (11人在瀏覽線上書籍)

會員: 0

訪客: 12

更多…