ZFS-学习笔记.docx
ZFS学习笔记第一章zpoo1的管理21.1 创建ZPoOI31.1.1 创建单边ZpOo131.1.2 创建mirrorpoo141.1.3 创建raidzzpoo161.2 删除ZPoOI71.3 对ZpOo1进行管理81.3.1 镜像和拆镜像81.3.2 添加ZPoO1空间91.3.3 spare盘的添加和删除101.4 zpoo1的维护/故障盘的更换121.5 ZPOo1的迁移151.6 恢复销毁的ZPoOI161.7 ZPOo1的Do统计181.8 迁移ZFS存储池191.9 ZPOo1的版本升级20第二章ZFS文件系统的建立和设置222.1 ZFS文件系统的创建和删除222.1.1 ZFS文件系统的创建222.1.2 ZFS文件系统重命名232.1.3 删除ZFS文件系统232.2 ZFS属性介绍242.3 查询ZFS文件系统信息252.4 管理ZFS属性252.4.1 设置Set262.4.2 继承inherit272.4.3 查询get272.4.4 ZFS文件系统的mount和UmoUn1342.4.5 ZFS文件系统的share和unshare362.4.6 ZFS文件系统的配额和预留空间37第三章使用ZFS进行快照或者克隆403.1 快照snapshot403.1.1 创建和销毁快照403.1.2 快照的显示和重命名413.1.3 使用快照同滚413.2 克隆433.2.1 创建CIOne433.2.2 删除c1one443.2.3 使用c1one来代替文件系统443.3 快照的保存和恢复453.3.1 快照的保存453.3.2 使用快照文件恢复文件系统46附录:ZFS卷48ZFS主要使用两条命令及其子命令:zfszpoo1第一章zpoo1的管理zpoo1命令菜单:#zpoo1missingcommandusage:zpoo1commandargs.where'command*isoneofthefo11owing:create-fn-Rroot-mmountpoint<poo1><vdev>.destroy-f<poo1>add-fn<poo1><vdev>.remove<poo1><device>1ist-H-ofie1d,fie1d*poo1.iostat-vpoo1.interva1countstatus-vxpoo1.on1ine<poo1><device>.off1ine-t<poo1><device>.c1ear<poo1>deviceattach-f1<poo1><device><new_device>detach<poo1><device>rep1ace-f<poo1><device>new_devicescrub-s<poo1>.import-ddir-Dimport-ddir-D-f-oopts-Rroot-aimport-ddir-D-f-oopts-Rroot<poo1id>newpoo1export-f<poo1>.upgradeupgrade-vupgrade<-apoo1>history<poo1>1.1 创建zpoo1ZFS文件系统是建立在存储池poo1的基础上,所以要建立文件系统必须先建立底层的p1o1.1.1 创建单边zpoo1zpoo1createyzc3tdc3td1#zpoo1createFirstc3t2dc3t4dinva1idvdevspecificationuse'-ftooverridethefo11owingerrors:devdskc3t2ds2containsaufsfi1esystem.devdskc3t2ds7containsaufsfi1esystem.加入poo1的硬盘可以是整块盘,也可以是某个分区,条件允许的时候建议使用整块盘,这样便于poo1对硬盘的管理。由于加入poo1的磁盘之前曾经使用过ufs,所以在创建过程中需要使用-f选项来忽视ufs文件格式将硬盘强制加入poo1中。Notes加入poo1的硬盘的原来数据会被破坏。# zpoo1create-ffirstc3t2dc3t3d# zpoo11istNAMEA1TROOT创建两块盘组成的p1SIZEUSEDAVAI1CAPHEA1THfirst136G90K136G0%ON1INE-#zpoo1statuspoo1:firststate:ON1INEscrub:nonerequestedconfig:NAMESTATEfirstON1INEc3t2dON1INEc3t3dON1INEREADWRITECKSUMOOO000000errors:Noknowndataerrors1.1.2 创建mirrorpoo1#zpoo1create-fyzmirrorc3tdc3t1d#zpoo11istNAMESIZEUSEDAVAI1A1TROOTfirst136G90K136G0%ON1INEyz68G6.08G61.9G8%ON1INE#zpoo1statuspoo1:yzstate:ON1INEscrub:nonerequestedconfig:CAPHEA1THNAMESTATEREADWRITECKSUMyzON1INEOOOmirrorON1INEOOOc3tdON1INEOOOc3t1dON1INEOOOerrors:Noknowndataerrors创建镜像盘组成的poo1,如果加入的硬盘为多个的话,则默认的raid类型为raid1+O,下例中,镜像为3份,单盘为68G,而PoO1总量为136G。RCGSM-root-yztest2>zpoo1createxxxmirrorc3tdc3t1dc3t2dmirrorc3t3dc3t4dc3t5dRCGSM-root-yztest2>zpoo11istSIZEUSEDAVAI1CAPHEA1TH90K136G0%ON1INENAMEA1TROOTxxx136GRCGSM-root-yztest2>zpoo1statuspoo1:xxxstate:ON1INEscrub:nonerequestedconfig:NAMESTATEREADWRITECKSUMXXXON1INEOOOmirrorON1INEOOOc3tdON1INEOOOc3t1dON1INEOOOc3t2dON1INEOOOmirrorON1INEOOOc3t3dON1INEOOOc3t4dON1INEOOOc3t5dON1INEOOOerrors:Noknowndataerrors#zpoo1status-xa11poo1sarehea1thy#df-hFi1esystemsizeusedavai1capacityMountedonfirstI34G24K134G1%/first1.1.3 创建raidzzpoo1zpoo1支持的raidz有raidz1和raidz2两种,类似于传统的raid5,raidz至少需要3个devices来实现对数据的校验。raidz也就是raidz1会消耗一块盘的空间,raidz2消耗凉快盘的空间。# zpoo1createyzraidz1c3tdc3t1dc3t2dc3t3d# zpoo1statuspoo1:yzstate:ON1INEscrub:nonerequestedconfig:NAMESTATEREADWRITECKSUMyzON1INE000raidz1ON1INE000c3tdON1INE000c3t1dON1INE000c3t2dON1INE000c3t3dON1INE000errors:Noknowndataerrors#zpoo11istNAMESIZEUSEDAVAI1CAPHEA1THA1TROOTyz272G147K272G0%ON1INE.#df-hFi1esystemsizeusedavai1capacityMountedonyz200G36K200G1%yz# zpoo1createyzraidz2c3tdc3t1dc3t2dc3t3d# zpoo11istNAMESIZEUSEDAVAI1CAPHEA1THA1TROOTyz272G226K272G0%ON1INE.#df-hFi1esystemyz#zpoo11istNAMEsizeused133Gavai1capacityMountedon36K133G1%yzSIZEUSEDAVAI1CAPHEA1THA1TROOTyz272G226K272G0%ON1INE#zpoo1statuspoo1:yzstate:ON1INEscrub:nonerequestedconfig:NAMESTATEREADWRITECKSUMyzON1INE000raidz2ON1INE000c3tdON1INE000c3t1dON1INE000c3t2dON1INE000c3t3dON1INE000errors:NoknowndataerrorsNote:同样是四块盘的raidz,raidz2消耗掉两块盘的空间,raidz1消耗一块盘的空间。raidz2的数据校验性应当是更强的。1.2 删除zpoo1zpoo1destroypoo1name如果zpoo1正在使用会提示设备正忙,强制删除poo1使用-f参数。RCGSM-root-yztest2>zpoo1destroyyzcannotunmount'yztest2':Devicebusycou1dnotdestroy,yz,:cou1dnotunmountdatasetsRCGSM-root-yztest2>zpoo1de