1、查硬碟  (硬碟排線寫上編號 – 疑問~可能要看bios吧)

lsblk
fdisk -l   //usb hdd  linux指令,freebsd沒有
ls -l /dev/disk/by-id/   //linux指令,freebsd沒有
df -k

format
devfsadm

iostat -En

2、建zpool

a. zpool create zpool名稱 磁碟

EX:zpool create storage01 /dev/sda1 /dev/sda2

b. zpool create zpool名稱 mirror/raidz 磁碟 磁碟   //建立 (mirror為一般raid 1,raidz其他raid格式)

EX:zpool create storage02 mirror /dev/sda1 /dev/sda2

c.指定掛載點?? (不指定,會在根目錄自建掛載目錄)

3、增加(新增)zpool容量

a. zpool add zpool名稱 磁碟      //增加(新增)容量(mirror)

EX:zpool add storage01 /dev/sda1

b. zpool add zpool名稱 mirror 磁碟 磁碟      //增加(新增)容量(mirror)

EX:zpool add storage01 mirror /dev/sda1 /dev/sda2

c. zpool add zpool名稱 spare 磁碟     //增加 後備(spare)hdd

EX:zpool add storage01 spare /dev/sda1

4、更換zpool設備 ??

a.zpool replace zpool 磁碟 [磁碟]

5、檢查zpool (完畢後看結果 zpool status -v zpool名稱)

a. zpool scrub zpool名稱

EX:zpool scrub storage01

6、刪除zpool

a. zpool destroy zpool名稱

EX:zpool destroy storage01

7、檢查zpool

a. zpool list    //zpool 快速使用情況

EX:zpool list

b. zpool status  [-x]

EX:zpool status [-x]

c. zpool status zpool名稱

EX:zpool status storage01

d.zpool status -v zpool名稱  (同c)

EX:zpool status -v storage01

e. zpool get all    //列出所有資訊

EX:zpool get all

zpool history -l //最出歷史記錄
zpool history -i //最出歷史記錄

=====zpool import/export //系統移機使用=====
過程中請用zfs list配合檢查

a. zpool export zpool名稱   //移除zpool

EX:zpool export storage01

b. zpool import //列出可以import zpool

c. zpool import
   -d 目錄
   -o 掛載

   -R  zpool名稱  //用root import

EX:zpool import -R /vm_win stroage01/vm_win

   -D  被刪zpool名稱 新還原後zpool名稱 //被刪掉(destory)

EX:zpool import -D    //列出被刪的zpool
EX:zpool import -D 被刪zpool名稱 新還原後zpool名稱  //指定新pool名稱

. zpool offline zpool名稱 磁碟   //暫某顆hdd暫時離線
. zpool online zpool名稱 磁碟    //暫某顆hdd暫時上線

=====zfs 指令操作 (zfs檔案系統操作和一般linux裡面的要分開)=====

zfs list     //zfs 列出所有檔案情況
zfs list -r  //zfs 列出所有檔案情況
zfs mount    //zfs 掛載磁區

1、zfs 建目錄

a. zfs create zpool名稱/目錄名稱   // 建目錄

EX:zpool create storage01/vm_win

b. zfs create -o reserv=配額(容量大小) zpool名稱/目錄名稱  //預留空間

EX:zfs create -o reserv=1G storage01/vm_win

c. zfs create -v(-V) 配額(容量大小) zpool名稱/目錄名稱   //建立volume (iscsi)

EX:zfs create -v(-V) 1G storage01/vm_win

d. zfs create -p  子目錄也順便建立

e. zfs 分享檔案系統建議屬性,在建立檔案系統時就一起設定,建立之後就無法修改

每個參數前面都須要加上-o

casesensitivity=mixed 混合式大小寫,配合windows的習慣
nbmand=on 配合檔案系統同時作NFS和CIFS分享,使用的interlock模式
utf8only=on 檔案名稱只接受utf8的unicode編碼,不使用ansi編碼。

EX:zfs -o casesensitivity=mixed -o nbmand=on -o utf8only=on storage01/vm_win

2、zfs 刪目錄

a. zfs destory zpool名稱/目錄名稱  //刪目錄

EX:zpool destory storage01/vm_win

b. zfs destory zpool名稱/目錄名稱  //刪除volume (iscsi)

EX:zfs destory storage01/vm_win

3、zfs 修改目錄名稱

a. zfs rename zpool名稱/舊目錄名稱 zpool名稱/新目錄名稱

EX:zfs rename storage01/vm_win storage01/vm_windows

=====zfs屬性=====

1、zfs 取得屬性(properties)

a. zfs get all zpool名稱

EX:zfs get all storage01
EX:zfs get all vm_win

2、zfs 變更掛載點 (mount 想成檔案目錄操作)

a. zfs set mountpoint=/目錄 zpool名稱/目錄名稱  //變更掛載點

EX:zfs set mountpoint=/images/vm/100 storage01/vm_win  //將/images/vm/100 掛上vm_win
EX:zfs set mountpoint=/storage02/vm_win_new storage01/vm_win  //vm_win_new 取代 vm_win

3、zfs 目錄壓縮

a. zfs set compression=on zpool名稱/目錄名稱

EX:zfs set compression=on storage01/vm_win

b. zfs set compression=lz4 ??

4、zfs 目錄取消壓縮

a. zfs inherit compression zpool名稱/目錄名稱

EX:zfs inherit compression storage01/vm_win

5、zfs 目錄設定配額(容量大小)

a. zfs set quota=配額(容量大小) zpool名稱/目錄名稱

EX:zfs set quota=1G storage01/vm_win

6、zfs 給NFS使用

a. zfs set sharenfs=on zpool名稱/目錄名稱

EX:zfs set sharenfs=on storage01/vm_win

7、zfs 給CIFS使用

a. zfs set sharesmb=name=CIFS分享名稱 zpool名稱/目錄名稱

EX:zfs set sharesmb=name=vm_win storage01/vm_win

b. zfs get sharesmb zpool名稱/目錄名稱

EX:zfs get sharesmb storage01/vm_win

8、ACL繼承設定 (aclinherit改成passthrough)  ??

a. zfs set aclinherit=passthrough zpool名稱

EX:zfs set aclinherit=passthrough storage01

=====zfs快照=====

1、zfs 建立快照

a. zfs snapshot zpool名稱/目錄名稱@snapshot名稱

EX:zfs snapshot storage01/vm_win/win10@20160828_win10

b. zfs snapshot -r zpool名稱@snapshot名稱   //zpool名稱底下所有的檔案系統都用相同的snapshot名稱

EX:zfs snapshot -r storage01

2、zfs 還原快照

a. zfs rollback -r zpool名稱/目錄名稱@snapshot名稱

EX:zfs rollback -r storage01/vm_win/win10@20160828_win10

3、zfs 複製快照

a. zfs clone 來源zpool名稱/目錄名稱@snapshot名稱 目地zpool名稱/目錄名稱

EX:zfs clone storage01/vm_win/win10@20160828_win10 storage02/vm_win/win10_test

4、zfs 移除快照

a. zfs destory 來源zpool名稱/目錄名稱@snapshot名稱

EX:zfs destory storage01/vm_win/win10@20160828_win10

5、zfs 列出快照

a. zfs list -t snapshot  //列出所有快照

6、zfs 快照避免被修改

a. zfs hold keep 來源zpool名稱/目錄名稱@snapshot名稱  //keep避免被修改

EX:zfs hold keep storage01/vm_win@20160828_win10

b. zfs holds 來源zpool名稱/目錄名稱@snapshot名稱   //holds檢查

EX:zfs holds storage01/vm_win@20160828_win10

======參考======
http://blog.virtual-on.org/2011/06/zfs-nas-nexentacore1.html
http://gallery.tses.tc.edu.tw/nuke/sections.php?op=viewarticle&artid=600
http://mail.ycsh.tp.edu.tw/~tory/ezblog/index.php?entry=entry100521-020651
http://blog.virtual-on.org/2011/06/zfs-nas-nexentacore1.html
https://blogs.oracle.com/forrest/entry/zfs%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F_4_zpool_inport_export
http://leoprosoho.pixnet.net/blog/post/32323214-zfs%E5%9F%BA%E7%A4%8E%E7%AE%A1%E7%90%86