Linux高級文件系統管理

                    

                        高級文件系統管理

本章內容:

設定文件系統配額

設定和管理軟RAID設備

配置邏輯卷

設定LVM快照

btrfs文件系統

 

一、配置配額系統:

綜述:

 

磁盤配額的作用范圍:

    quota軟件設置的磁盤配額功能,只在指定的文件系統分區中有效,用戶使用其他未設置配額的文件系統時,將不會受到限制;

 

磁盤配額的限制對象:

    quota主要針對系統中指定的用戶賬號、組賬號進行限制,沒有被設置限額的用戶或組將不受影響。對組賬號設置配額后,組內所有用戶使用的磁盤容量、文件數量的總和不能超過限制。

 

磁盤配額的限制類型:

    硬盤容量:限制用戶能夠使用的磁盤數據塊(block)大小,也就是限制磁盤空間大小,默認單位為KB。

    文件數量:限制用戶能夠擁有的文件個數。quota通過限制i節點的數量來實現對文件數量的限制。

 

磁盤配額的限制方法:

    軟限制:制定一個軟性的配額數值(如 480MB、180個文件),在固定的寬限期內(默認為七天)允許用戶暫時超過這個限制,但系統會給出警告信息。

    硬限制:指定一個硬性的配額數值(如 500MB、200個文件),時絕對禁止用戶超過這個限制值得,當達到硬限制值時,系統也會給出警告并禁止繼續寫入數據。硬限制的配額值應大于相應的軟限制的值,否則軟限制將失效。

 

1、以支持磁盤配額功能的方式掛載文件系統:

    除了內核和quota軟件支持外,實施磁盤配額功能還有一個前提條件,即指定的分區必須已經掛載且支持磁盤配額功能。

    讓分區支持磁盤配額選項:

     usrquota選項:支持對用戶的磁盤配額;

     grpquota選項:支持對組的磁盤配額;

示例:

     在配置磁盤配額過程中,可以使用帶-o usrquota grpquota 選項的mount命令重新掛載指定的分區以便增加對用戶、組配額功能。

     mount  -o usrquot,grpquota  /dev/sdb1  /home

 

      若需要在每次系統開機后自動以支持磁盤配額的功能方式掛載該分區,可以將usrquotgrpquota選項參數寫到/etc/fstab配置文件中。

      

      [root@centos7 home]# vim /etc/fstab

       /dev/sdb1   /home    ext4    defaults,usrquota,grpquota  0  0

      [root@centos7 home]#mount  -a

 

2、檢測磁盤配額并生成配額文件:

         quotacheck命令:

               -a:表示掃描所有分區,查看是否有較早版本的配額文件;

               -c:常與ug選項配合使用,創建用戶、組的配額文件;

               示例:

               [root@centos7 home]# quotacheck -cug /home

           查看在/home目錄下生成的用戶配額文件和組配額文件:

               [root@centos7 home]# file aquota.*

               aquota.group: data

               aquota.user:  data

               [root@centos7 home]#

          開啟或者取消磁盤配額功能:

              quotaon :開啟磁盤配額

              quotaon  -p 查看是否開啟磁盤配額;

              quotaoff :關閉磁盤配額

 

         示例:

         查看是否開啟磁盤配額:

              [root@centos7 home]# quotaon -p /home

              group quota on /home (/dev/sdb1) is off

              user quota on /home (/dev/sdb1) is off

              [root@centos7 home]#

         開啟磁盤配額:

              [root@centos7 home]# quotaon /home

         關閉磁盤配額:

              [root@centos7 home]# quotaoff /home

  

     3、編輯用戶和組的賬號的配額設置:

               edquota命令:結合-u-g選項可用于編輯用戶或組的配額設置;

           1edquota  -u  username

           2)直接在shell命令行編寫(適合編寫shell腳本使用)

                setquota  username  500000  600000   1500 2000  /filesystem

                示例:

                root@centos7 home]# setquota yibo  500000 600000  1500 2000 /home

           3)定義標準的用戶 (相當于copy  user1的磁盤配額給user2

                edquota  -p  user1  user2

                示例:

                [root@centos7 home]# edquota -p zheng mage

 

          示例:

          為用戶zheng編輯磁盤配額:

              [root@centos7 home]# edquota -u zheng

              Disk quotas for user zheng (uid 1000):

              Filesystem      blocks    soft  hard        inodes     soft     hard

              /dev/sdb1       0    500000   600000       0       1500     2000

 

          edquota的編輯界面中,各字段分別代表的含義如下:

 

           Filesystem:表示本行配置記錄對應的文件系統,即配額的作用范圍;

           blocks:表示用戶已經使用的磁盤容量,單位為KB,該值由edquota自動計算;

           soft:第3列的soft對應為磁盤容量的軟限制數值;

           hard:第4列的hard對應為磁盤容量的硬限制數值;

           inodes:表示用戶當前已經擁有的文件數量,(i節點數)有edquota自動計算;

           soft:第6列的soft對應為文件數量的軟限制數值;

           hard:第7列的hard對應為文件數量的硬限制數值;

 

測試磁盤配額:

        綜上可知我們為用戶zheng設置的磁盤硬限制是600MB,這是我們dd一個650MB的文件,這時我們已經看到拒絕寫入數據了。

           [zheng@centos7 ~]$ dd if=/dev/zero of=/home/zheng/bb  bs=1M count=650

           sdb1: warning, user block quota exceeded.

           sdb1: write failed, user block limit reached.  (寫入失敗,磁盤配額空間已滿)

           dd: error writing /home/zheng/bb: Disk quota exceeded

           586+0 records in

           585+0 records out

           614371328 bytes (614 MB) copied, 0.800515 s, 767 MB/s

           [zheng@centos7 ~]$ du -sh /home/zheng/bb

           586M /home/zheng/bb

           [zheng@centos7 ~]$

使用quota命令查看用戶zheng的磁盤使用情況:

       [root@centos7 ~]# quota zheng

       Disk quotas for user zheng (uid 1000):

       Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

       /dev/sdb1  600000* 500000  600000   7days      15    1500    2000        

       [root@centos7 ~]#

使用repquota命令查看/home文件系統的配額使用情況報告:

       

       [root@centos7 home]# repquota /home

       *** Report for user quotas on device /dev/sdb1

       Block grace time: 7days; Inode grace time: 7days

                               Block limits                File limits

       User            used    soft    hard  grace    used  soft  hard  grace

       ———————————————————————-

       root      —      14       0       0              7     0     0       

       zheng     +-  600000  500000  600000  6days      15  1500  2000       

       yibo      —      14  500000  600000              7  1500  2000       

       mage      —      14  500000  600000              7  1500  2000       

  

      [root@centos7 home]#

 

配置磁盤配額使用的命令總結:

          usrquotagrpquota

          quotacheck

          quotaon  quotaoff

          edquota  setquota

          quota    repquota

          warnquota (磁盤配額報警軟件,可以郵件通知)

 

RAID:磁盤陣列

 

      什么是RAID

          多個磁盤合成一個“陣列”來提供更好的性能、冗余或者兩者都提供;提高I/O能力,磁盤并行讀寫,實現磁盤冗余。

 

       RAID實現方式:

           外接式RAID:通過擴展卡提供適配能力

           內接式RAID:主板集成RAID控制器

           硬件RAID在安裝OS時在BLOS中配置

           software RAID:軟件RAID

      

       RAID級別:

           RAID-0:條帶卷

           讀寫速度 提升;可使用100%空間;無容錯能力;最少磁盤數2個;

           RAID-1:鏡像卷

           讀性能提升,寫性能下降;可用空間50%有冗余能力;最少磁盤數2個;

           RAID-4

           多塊數據盤異或運算值,存于專用校驗盤;

           RAID-5

           讀寫性能提升;可用空間(N-1);有容錯能力,允許最多損壞1塊磁盤;最少磁盤數3塊;

           RAID-6

           讀寫性能提升;可用空間(N-2);有容錯能力,允許最多損壞2塊硬盤,最少磁盤數2塊;

           RAID-10

           讀寫性能提升;可用空間50%;有容錯能力,每組鏡像最多只能壞一塊磁盤,最少磁盤數4塊;

           RAID-01RAID-50

           RAID-7:可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID模式

           JBODjust bunch of disks將多塊磁盤的空間合并一個大的連續空間使用;可用空間sum;

 

配置software RAID (軟RAID):

     mdadm命令為RAID提供管理界面

     RAID設備可命名為:/dev/md0 、/dev/md1 、/dev/md2 、/dev/md3 等等;

     支持的RAID級別:LINEAR、RAID0、RAID1、RAID4、RAID5RAID6、RAID10;

 

mdadm命令的語法格式:

     mdadm [mode] <raiddevice> [options] <component-devices>

              -C:創建模式:

                  -n#:使用#個磁盤設備來創建此RAID;

                  -l#:指明要創建的RAID的級別;

                  -a{yes|no}:自動創建目標RAID設備的設備文件

                  -c CHUNK_SIZE:指明塊大??;

                  -x#:指明空閑盤的個數;

               -G:增加設備分區到RAID中;

                  mdadm -G /dev/md# -n# -a /filesystem

               -D:顯示RAID的詳細信息;

                   1mdadm  -D  /dev/md#

                   2cat  /proc/mdstat

               -S:停止指定的RAID;

                   mdadm  -S  /dev/md#

               -A:啟動RAID

                   mdadm  -A  /dev/md#

               -F:監控RAID;

               管理選項:

                  -f:標記指定磁盤為損壞;

                  -a:添加磁盤

                  -r:移除磁盤

示例:

   模擬硬盤故障:

mdadm    /dev/md0  -f  /dev/sda1

   模擬移除磁盤:

mdadm    /dev/md0  -r  /dev/sda1

   模擬添加磁盤:

mdadm    /dev/md0  -a  /dev/sda1

 

生成RAID配置文件:

     mdadm  -Ds   >>  /etc/mdadm.conf

刪除RAID信息:

      mdadm   -zero-superblock   /dev/sdb1

 

RAID配置實例:

  使用mdadm命令創建/dev/md0

      [root@centos7 Desktop]# mdadm -C /dev/md0 -a yes -n 4 -l 5 -x 1 /dev/sd{c,d,e,f,g}1

     

   查看 RAID /dev/md0的詳細信息:

       [root@centos7 Desktop]# mdadm -D /dev/md0

       ………………………………………………………..

           Number   Major   Minor   RaidDevice State

       0       8       33        0      active sync   /dev/sdc1

       1       8       49        1      active sync   /dev/sdd1

       2       8       65        2      active sync   /dev/sde1

       5       8       81        3      active sync   /dev/sdf1

 

       4       8       97        –      spare   /dev/sdg1

      [root@centos7 Desktop]#

     

 使用cat  /proc/mdstat也可以查看RAID詳細信息;

      [root@centos7 Desktop]# cat /proc/mdstat

      Personalities : [raid6] [raid5] [raid4]

      md0 : active raid5 sdf1[5] sdg1[4](S) sde1[2] sdd1[1] sdc1[0]

           31432704 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

      

      unused devices: <none>

      [root@centos7 Desktop]#

 

 使用mkfs工具格式化RAID /dev/md0

     root@centos7 Desktop]# mkfs.ext4  /dev/md0

 

掛載RAID /dev/md0/etc/fstab文件實現開機自動掛載

RAID /dev/md0創建掛載目錄

   [root@centos7 ~]# mkdir /mnt/raid

編輯/etc/fstab配置文件

   [root@centos7 Desktop]# vim /etc/fstab  (使用UUID代替/dev/md0

   UUID="63d8a215-b6dc-4de0-96b1-26da2425f988"  /mnt/raid  ext4 defaults   0 0

執行mount  -a -a選項:自動掛載所有支持自動掛載的設備)

   [root@centos7 Desktop]# mount -a

 

查看RAID /dev/md0掛載情況:

       [root@centos7 Desktop]# df -TH

  ………………………………….

  /dev/md0       ext4       32G   47M   30G   1% /mnt/raid

 

生成RAID /dev/md0配置文件:

  [root@centos7 Desktop]# mdadm -Ds /dev/md0  >> /etc/mdadm.conf

 

查看RAID /dev/md0配置文件:

[root@centos7 Desktop]# vim /etc/mdadm.conf

ARRAY /dev/md0 metadata=1.2 spares=1 name=centos7:0 UUID=4ef759d4:8d56c48d:bacbe2c1:7108b708

 

RAID測試和修復

 

模擬磁盤故障:

[root@centos7 Desktop]# mdadm /dev/md0 -f /dev/sdc1

這時我們查看RAID /dev/md0的狀態:

[root@centos7 Desktop]# mdadm -D /dev/md0

    Number   Major   Minor   RaidDevice State

       4       8       97        0      spare rebuilding   /dev/sdg1

       1       8       49        1      active sync   /dev/sdd1

       2       8       65        2      active sync   /dev/sde1

       5       8       81        3      active sync   /dev/sdf1

 

       0       8       33        –      faulty   /dev/sdc1

[root@centos7 Desktop]#

這時我們發現備用磁盤/dev/sdg1已經開始重建頂替/dev/sdc1了;而/dev/sdc1已經是顯示有錯誤的磁盤了。

 

RAID /dev/md0中移除損壞的/dev/sdc1

[root@centos7 Desktop]# mdadm /dev/md0 -r /dev/sdc1

mdadm: hot removed /dev/sdc1 from /dev/md0

[root@centos7 Desktop]#

這時我們在查看RAID /dev/md0的狀態

[root@centos7 Desktop]# mdadm -D /dev/md0

    Number   Major   Minor   RaidDevice State

       4       8       97        0      active sync   /dev/sdg1

       1       8       49        1      active sync   /dev/sdd1

       2       8       65        2      active sync   /dev/sde1

       5       8       81        3      active sync   /dev/sdf1

[root@centos7 Desktop]#

這時我們發現RAID /dev/md0中有錯誤的磁盤/dev/sdc1已經不見了;

 

添加/dev/sdc1RAID /dev/md0

[root@centos7 Desktop]# mdadm /dev/md0  -a  /dev/sdc1

這時我們在查看RAID /dev/md0的狀態

[root@centos7 Desktop]# mdadm -D /dev/md0

    Number   Major   Minor   RaidDevice State

       4       8       97        0      active sync   /dev/sdg1

       1       8       49        1      active sync   /dev/sdd1

       2       8       65        2      active sync   /dev/sde1

       5       8       81        3      active sync   /dev/sdf1

 

       6       8       33        –      spare   /dev/sdc1

   [root@centos7 Desktop]#

   這時我們發現RAID /dev/md0中的/dev/sdc1,又成為備份磁盤了;

 

RAID /dev/md0中增加新的成員

   [root@centos7 Desktop]# mdadm -G /dev/md0 -n 5 -a /dev/sdh1

   這時我們在查看RAID /dev/md0的狀態

   [root@centos7 Desktop]# mdadm -D /dev/md0

    Number   Major   Minor   RaidDevice State

       4       8       97        0      active sync   /dev/sdg1

       1       8       49        1      active sync   /dev/sdd1

       2       8       65        2      active sync   /dev/sde1

       5       8       81        3      active sync   /dev/sdf1

       7       8      113        4      active sync   /dev/sdh1

 

       6       8       33        –      spare   /dev/sdc1

   [root@centos7 Desktop]#

   這時我們發現RAID /dev/md0中的成員已經變成5個了;

 

停止RAID/dev/md0服務:

停止軟RAID服務需要先卸載RAID

root@centos7 Desktop]# umount /dev/md0

然后在停止軟RAID

[root@centos7 Desktop]# mdadm -S  /dev/md0

mdadm: stopped /dev/md0

[root@centos7 Desktop]#

 

激活RAID/dev/md0服務:

[root@centos7 Desktop]# mdadm -A  /dev/md0

然后在執行mount  -a 掛載/dev/md0到指定目錄下;(-a選項:自動掛載所有支持自動掛載的設備)

[root@centos7 Desktop]# mount -a

 

刪軟RAID步驟:

   1[root@centos7 Desktop]# umount /dev/md0

   2[root@centos7 Desktop]# mdadm -S /dev/md0

   3[root@centos7 Desktop]# rm -rf /etc/mdadm.conf

   4[root@centos7 Desktop]# vim /etc/fstab  (刪除自動掛載配置行信息)

   5[root@centos7 Desktop]# fdisk /dev/sdc (刪除里面的分區信息)

        [root@centos7 Desktop]# fdisk /dev/sdd (刪除里面的分區信息)

        [root@centos7 Desktop]# fdisk /dev/sde (刪除里面的分區信息)

        [root@centos7 Desktop]# fdisk /dev/sdf (刪除里面的分區信息)

        [root@centos7 Desktop]# fdisk /dev/sdg (刪除里面的分區信息)

        [root@centos7 Desktop]# fdisk /dev/sdh (刪除里面的分區信息)

6)可以使用blkid命令查看一下看是否還有未刪干凈的分區信息;

     如果刪除不干凈分區信息可以使用:

     例: mdadm  -zero-supperblock  /dev/sdc1

 

LVM邏輯卷管理器:

       

LVMLinux系統中對磁盤分區進行管理的一種邏輯機制,它是建立在硬盤和分區之上,文件系統之下的一個邏輯層,在建立文件系統時屏蔽了下層的磁盤分區布局,能夠在保持現有數據不變的情況下動態調整磁盤容量,從而提高了磁盤管理的靈活性。

 

/boot分區不能基于LVM邏輯卷創建,必須獨立出來。

 

LVM邏輯卷的幾個基本術語:

PV物理卷:物理卷是lvm機制的基本存儲設備,通常對應為一個普通分區或整個硬盤。創建物理卷時,會在分區或硬盤的頭部創建一個保留區塊,用于記錄lvm的屬性,并把存儲空間分割成默認大小為4MB的基本單元PE,從而構成物理卷。

VG卷組:有一個或多個物理卷組成,在卷組中可以動態的添加或移除物理卷。

LV邏輯卷:邏輯卷是建立在卷組之上的,與物理卷沒有直接管理。對于邏輯卷來說,每個卷組就是一個整體,從這個整體中“切出”一小塊空間,作為用戶創建文件系統的基礎,這一小塊空間就稱為邏輯卷。

 

PV物理卷管理工具:

      pvscan:用于掃描系統中的所有物理卷。

      pvdisplay:用于顯示物理卷的詳細信息。

      pvcreate:用于將分區或整個磁盤轉化為物理卷。

      pvremove:用于將物理卷還原成普通分區或磁盤。

      pvmove:用于在物理卷間的遷移;

 示例:

   創建物理卷:

     [root@centos7 Desktop]# pvcreate  /dev/sd{c,d,e}

   掃描系統中的物理卷:

     [root@centos7 Desktop]# pvscan

     PV /dev/sdc         lvm2 [20,00 GiB]

     PV /dev/sdd         lvm2 [20,00 GiB]

     PV /dev/sde         lvm2 [20,00 GiB]

     Total: 3 [60,00 GiB] / in use: 0 [0   ] / in no VG: 3 [60,00 GiB]

     [root@centos7 Desktop]#

   顯示物理卷信息:

     [root@centos7 Desktop]# pvdisplay

   移除/dev/sde物理卷:

     [root@centos7 Desktop]# pvremove  /dev/sde

     Labels on physical volume "/dev/sde" successfully wiped

     [root@centos7 Desktop]#

   遷移/dev/sdc /dev/sde

     [root@centos7 Desktop]# pvmove /dev/sdc /dev/sde   (遷移時時間有點長,需等待)

 

VG卷組管理工具:

vgscan:掃描系統中建立的lvm卷組;

vgcreate:用于將一個或多個物理卷創建為一個卷組;

vgdisplay:用于顯示系統中各卷組的詳細信息;

vgremove:用于刪除指定的組;

vgextend:用于擴展卷組的磁盤空間;

vgreduce:用于刪除組中的物理卷

 

示例:

   創建卷組vg0

     [root@centos7 Desktop]# vgcreate vg0 /dev/sd{c,d,e}

      Volume group "vg0" successfully created

     [root@centos7 Desktop]#

   掃描系統中的卷組:

     [root@centos7 Desktop]# vgscan

     Reading all physical volumes.  This may take a while…

     Found volume group "vg0" using metadata type lvm2

     [root@centos7 Desktop]#

   顯示系統中卷組的詳細信息:

     [root@centos7 Desktop]# vgdisplay vg0

   刪除卷組:

     [root@centos7 Desktop]# vgremove  vg0

     Volume group "vg0" successfully removed

     [root@centos7 Desktop]#

   擴展卷組:

     [root@centos7 Desktop]# vgextend  vg0 /dev/sde

     Volume group "vg0" successfully extended

     [root@centos7 Desktop]#

   刪除卷組中的物理卷:

     [root@centos7 Desktop]# vgreduce  vg0 /dev/sde

     Removed "/dev/sde" from volume group "vg0"

     [root@centos7 Desktop]#

 

LV管理工具:

lvscan:掃描當前系統中建立的邏輯卷;

lvcreate:用于從指定的卷組中分隔空間,以創建邏輯卷;

lvdisplay:用于顯示邏輯卷的詳細信息;

lvextend:用于動態擴展邏輯卷空間;

lvremove:用于刪除指定的邏輯卷;

lvreduce:用于縮減邏輯卷的大?。?/span>

 

示例:

   創建邏輯卷:

 [root@centos7 Desktop]# lvcreate  -L 20G -n lv0 vg0

  Logical volume "lv0" created.

 [root@centos7 Desktop]#

   格式化并掛載lvm邏輯卷:

 [root@centos7 Desktop]# mkfs.ext4 /dev/vg0/lv0

 [root@centos7 Desktop]# mkdir /mnt/lvm

 [root@centos7 Desktop]# vim /etc/fstab (掛載/dev/vg0/lv0使用UUID代替)

  UUID="7d4a3e54-3bd1-4d2c-97a8-13ed36231521" /mnt/lvm ext4  defaults        0 0

 [root@centos7 Desktop]# mount -a

   掃描當前系統中建立的邏輯卷;

 [root@centos7 Desktop]# lvscan

   顯示邏輯卷的詳細信息;

     [root@centos7 Desktop]# lvdisplay

   擴展lv0的邏輯卷空間

     [root@centos7 Desktop]# lvextend -L +10 /dev/vg0/lv0

     [root@centos7 Desktop]# resize2fs   /dev/vg0/lv0  (擴展完了同步文件系統)

     [root@centos7 Desktop]# lvextend -l +100%FREE /dev/vg0/lv0 (擴展卷組中剩余的所有空間到邏輯卷中)

   刪除指定的lv邏輯卷:

     [root@centos7 Desktop]# lvremove /dev/vg0/lv0

   縮減lvm邏輯卷的大小:

     縮減lvm邏輯卷需要5步操作:

1[root@centos7 Desktop]# umount /dev/vg0/lv0

2[root@centos7 Desktop]# e2fsck -f /dev/vg0/lv0(檢測lvm邏輯卷)

3[root@centos7 Desktop]# resize2fs /dev/vg0/lv0 20G(縮小文件系統)

4[root@centos7 Desktop]# lvreduce -L 20G /dev/vg0/lv0 (縮小lvm邏輯卷)

5[root@centos7 Desktop]# mount -a

6)使用df  -TH命令查看縮減后邏輯卷大小

 

邏輯卷管理器快照:

快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝

對于需要備份或者復制的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇;

快照只有在他們和原來的邏輯卷不同時才消耗空間。

    在生成快照時會分配給他一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間。

    當原來的邏輯卷中有所改變,會將舊的數據復制到快照中去。

    快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快照中更改的數據。

    建立快照的卷大小只需要原始邏輯卷的15%~20%就夠了,也可以使用lvextend放大快照。

 

使用LVM快照:

為現有的邏輯卷創建快照

     lvcreate  -l 64  -s  -n  snap-data  -p  -r  /dev/vg0/lv0

    掛載快照:

mkdir   -p  /mmt/snap

mount  -o  ro  /dev/vg0/snap-data   /mnt/snap

刪除快照:

umount  /mnt/snap

lvremove   /dev/vg0/snnap-data

 

btrfs文件系統:

btrfs文件系統為技術預覽版

核心特征:

    多物理卷支持:btrfs由多個底層物理卷組成:支持RAID,聯機添加、移除、修改;

    寫時復制更新機制:復制、更新及替換指針,而非就地更新;

    數據及元數據校驗碼:checksum

    子卷:sub_volume

    快照:支持快照的快照

    透明壓縮;

 

文件系統創建:

    mkfs.btrfs

       -LLABEL

       -d<type> raid0 raid1 raid5 raid6 raid10 single

       -m<profile> raid0 raid1 raid5 raid6 raid10 single

      例: mkfs.btrfs  -L mydata   -f  /dev/sdb   /dev/sdc  

 

文件系統屬性查看:  

     btrfs  filesystem  show blkid

掛載文件系統:

     mount  -t btrfs  /dev/sdb   MOUNT_POINT

透明壓縮機制:

     mount -o compress={lzo|zlib} DEVICE MOUNT_POINT

在線修改文件系統大?。?/span>

     btrfs  filesystem   resize  -10G /mydata

     btrfs  filesystem   resize  +10G /mydata

     btrfs  filesystem   resize  max  /mydata

查看文件系統:

      df -lh   btrfs  filesystem  df   /mydata

添加設備:

       btrfs  device  add  /dev/sdd   /mydata

平衡數據:

       btrfs  banlance  status   /mydata

       btrfs  banlance  stat     /mydata

       btrfs  banlance  pause   /mydata

       btrfs  banlance  cancel   /mydata

       btrfs  banlance  resume   /mydata

 刪除設備:

       btrfs   device  delete  /dev/sdb  /mydata

 修改raid級別:注意raid對成員數量的要求

       btrfs  balance  start  -mconvert=raid1|raid0|raid5  /mydata

       btrfs  balance  start  -dconvert=raid1|raid0|raid5  /mydata

  子卷管理:

        btrfs   subvolume   list   /mydata

        btrfs   subvolume  create  /mydata/subv1

        umount  /mydata

        mount   -o  subvol=subv1 /dev/sdd   /mnt/subv1

        btrfs   subvolume  show  /mnt/subv1

        mount  /dev/sdb  /mydata  掛載父卷,子卷自動掛載

        mount  -o subvolid=###   /dev/sdd  /mnt/subv1

        btrfs   subvolume  show  /mnt/subv1

        btrfs  subvolume  delete  /mydata/subv1

  創建快照:

        btrfs  subvolume    snapshot   /mydatasubv1

        /mydata/snapshot_subv1

        btrfs  subvolume   llist  /mydata

  刪除快照:

        btrfs   subvolume  delete  /mydata/snapshot_subv1

  對一個文件做快照

        cd  /mydata/subv1

        cp  –reflik   testfile  snapshot_testfile

 

實驗ext4btrfs互換

            btrfs  balance   stat   -dconvert=single  /mydata

            btrfs  balance   stat   -mconvert=raid1  /mydata

            btrfs   device   delete  /dev/sdd   /mydata

            fdisk   /dev/sdd

            mkfs.ext4   /dev/sdd1

            mount    /dev/sdd1   /mnt

            cp  /etc/fstab  /mnt

            umount   /mnt

            fsck  -f  /dev/sdd1

            btrfs-convert  /dev/sdd1 轉化ext4btrfs

            btrfs   filesystem   show

            mount   /dev/sdd1  /mnt

            btrfs 轉化ext4文件系統

            umount   /mnt

            btrfs-convert  -r /dev/sdd1

            blkid  /dev/sdd1

            在轉化成btrfs

            btrfs-convert   /dev/sdd1

 

 

 

 

 

 

               

 

 

 

 

 

 

 

 

原創文章,作者:zhengyibo,如若轉載,請注明出處:http://www.www58058.com/43922

(0)
zhengyibozhengyibo
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • vim簡單實用的技巧總結

    vi 和 vim無需過多的區分,vim可認為是vi的增強版。        這篇關于vim的手冊,我個人覺得實在無法把它寫成文章,只能以手冊的方式列舉出來,因為,vim是一個動手使用的工具,只能在使用中你才能慢慢發現它的操作多么符合邏輯,我從下面這些簡略的描述中,盡量將它的操作步驟寫出來,但更重要的…

    Linux干貨 2015-09-14
  • 從案例出發——命令總結之find篇

    在這篇文章中你將看到以下內容:1、find命令的格式、語法、及實際應用 2、3個時間戳的意義  3、各種文件類型的解釋  4、軟硬鏈接的區別 5、exec和xargs的區別 6、幾個邏輯判斷符的意義  7、通配符的意義  8、find 命令下時間查找的特殊定義 首先,來看看以下題目:   &nbsp…

    Linux干貨 2016-03-25
  • shell 腳本 之循環 for while until 和 軟件包的管理 【上】

    shell 腳本 之循環 for while until 和 軟件包的管理 【上】 循環執行     將某代碼段重復運行多次     重復運行多少次:             循環次數事先已知    &nbsp…

    系統運維 2016-08-18
  • corosync + pacemaker搭建高可用mysql

    一、實驗圖     二、環境準備  1)確保時間同步 [root@SQL1 ~]# crontab -e  */5 * * * * /usr/sbin/ntpdate 172.16.2.15 [root@SQL2 ~]#…

    Linux干貨 2015-06-30
  • PageRank算法

    1. PageRank算法概述          PageRank,即網頁排名,又稱網頁級別、Google左側排名或佩奇排名。         是Google創始人拉里·佩奇和謝爾蓋·布林于1997年構建早期的…

    Linux干貨 2015-12-15
  •   在服務器托管的過程中出現故障是不能完全避免的問題,可能是服務器硬盤出現硬件故障或者是防火墻遭到攻擊。那么服務器托管出現故障怎么辦?

      在服務器托管的過程中出現故障是不能完全避免的問題,可能是服務器硬盤出現硬件故障或者是防火墻遭到攻擊。那么服務器托管出現故障怎么辦?   服務器硬盤出現硬件故障時,大家應注意以下幾點:   1、硬盤出現異聲,此時磁頭已不正常尋址,為防止打傷盤體,需立即斷電不可拆解硬盤,需交有超凈間的專業公司拆開檢查。   2、BIOS不認盤,找不到硬盤,先請計算機工程師仔…

    Linux干貨 2016-04-05
欧美性久久久久