磁盤管理

1 文件管理

用戶或組配額管理
為了設定每用戶對文件系統的使用個配額分配,文件系統配額統一管理
配置配額系統
  在內核中實現執行
  以文件系統為單位啟用
  對不同組或者用戶的策略不同
    根據塊或者節點進行限制
      執行軟限制 soft limit
      硬限制 hard limit
如果要實現配額分配需要掛載的文件系統支持 quota功能
在掛載選項中添加 usrquota,grpquota
并且初始化數據庫 quotacheck
quotacheck 
    -u初始化用戶quota
    -g初始化組quota
為用戶開啟或關閉配額 quotaon quotaoff
直接編輯配額 edquota username mount_point對某個用戶進行磁盤配額分配
同時也可以 直接使用shell進行編輯
setquota username soft hard  (inode)soft (inode)hard
定義原始標準用戶
edquota -p username  可以直接設定為原始的磁盤配額使用額度
報告配額狀態
用戶調查  quota username
配額概述 repquota /path/to/mount_point 可以查看指定用戶或組對本分區的磁盤使用率

2 RAID

RAID Redundant Array of Inexpensive(Independent) Disks
1988 年由加利福尼亞大學伯克利分校研發
將多個磁盤合成一個"陣列"來提供更好的性能,冗余或兩者都提供
RAID 的好處
提高IO能力
  磁盤并行讀寫
提高耐用性
  磁盤冗余來實現
級別 多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式
  外接式磁盤陣列 通擴展卡提供適配功能
  內接式RAID 主板集成RAID控制器
    安裝OS前在bios里設置
  軟件RAID 通過OS實現
常見的RAID級別
  RAID-0 條帶式 即將數據分成多分 分別存儲到不同磁盤但是當有一個磁盤損壞,整個數據將都不可以使用
    可用空間 N*min(D1,D2...) 
    無容錯能力
    最少磁盤 2
  RAID-1 鏡像 即將數據存儲成兩份 當有一個損壞時,數據不會丟失,還可以繼續使用
    讀性能提升,寫性能略有下降
    可用空間 1*min(D1,D2...)
    有冗余能力
    最少磁盤 2
  RAID-4 多塊數據盤異或運算,將異或數據存放到專用檢驗盤,但是不能同時壞兩張盤
    可用空間(n-1)*min(D1,D2...)
    最少磁盤數 3
  RAID-5  是RAID0和RAID1 折中的方案,將校驗為存放到不同磁盤上
  可用空間(n-1)*min(D1,D2...)
  容錯能力最多1塊磁盤損壞  
  最少磁盤數 3
  RAID-10 是先組合raid1然后在此基礎上在組合raid0
    讀寫能力提升
    可用空間 每一組鏡像最多壞一塊
    最少磁盤數 4
軟RAID的實現
  mdadm 模塊化工具
    創建  -C
    裝配  -A
    監控  -F
    管理 -f(損壞) -r(移除) -a(添加)
  -C 創建模式
      -n 是有多少塊設備創建此RAID 不加空閑磁盤
      -l 指定RAIDjibie
      -a {yes|no} 自動創建目標RAID設備的設備文件
      -c 指定chunk_size 的大小
      -x 指定空閑磁盤的個數
  -D 顯示RAID的詳細信息
      mdadm -D /dev/md#
  -f 將某個磁盤標記為損壞
  -a 添加磁盤
      mdadm -G /dev/md# -n# -a /dev/sd##
  -r 移除磁盤
生成配置文件 mdadm -D -s > /etc/mdadm.conf
停止設備 mdadm -S /dev/md#
激活設備 mdadm -A -s /dev/md#
強制啟動 mdadn -R /dev/md#
刪除RAID信息 mdadm --zero-super-block /dev/sd##
  注意需要先將磁盤從raid中移除 在刪除raid信息 
1 :創建一個可用空間為1G 的RAID1 設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup 目錄
  1 mdadm -C /dev/md0 -l 1 -n 2 -x 1 /dev/sdc1 /dev/sdf1 mkfs.ext4 /dev/
  2 編輯 /etc/fstab 添加一行
   /dev/md0 /backup  ext4 default 0 0
  
2 :創建由三塊硬盤組成的可用空間為2G 的RAID5 設備,要求其chunk 大小為256k ,文件系統為ext4 ,開機可自掛載至 至/mydata
  1 mdadm -C /dev/md1 -l 5 -n 3 -c 256k /dev/sd{c1,d1,e1}
  2 編輯 /etc/fstab 添加一行
   /dev/md0 /mydata  ext4 default 0 0

3 lvm

lvm logical volumn mangement 邏輯卷管理器
  允許對多個進行方便操作的抽象層,包括重組設定文件系統的大小
  允許在多個設備間重新組織文件系統
    將設備指定為邏輯卷
    用一個或多個物理卷來創建卷組
    物理卷使用固定大小的物理區域(physical Extent,PE) 來定義
    在物理卷上創建邏輯卷
    可以在邏輯卷上創建文件系統  
lvm 
  dm:device mapper 將多個底層設備塊組織成一個設備的模樣
  設備名  /dev/dm-#
  軟連接  /dev/mapper/vg_name/lv_name
         /dev/mapper/lv_name
         /dev/vg_name/lv_name
         /dev/vg_name/lv_name
pv
    pvcreate 創建pv 
        pvcreate -v device 帶過程的創建pv
    pvremove device
    pvmove 移動數據 將放到此分區中的數據放到其他同卷組的其他pv上
vg
    vgcreate vgname device[pv]
        -s 指定pe大小
    vgextend volumegroup device
    vgreduce volumegroup device 之前要做 pvremove device

    vgremove vgname
lv
    lvcreate 
        -s le 大小
        -n lvname
        -l pe 的個數
        -L lv大小
    lvcreate -L # -n lvname vgname
    lvremove /dev/vg_name/lvname

擴展邏輯卷
    lvextend -L [+]#單位 /dev/vg_name/lvname
        lvextend -L 5G /dev/vg_name/lvname
        邏輯空間雖然擴大了,但是文件系統大小并沒有變化所以接下來要擴展文件系統大小
        e2fsck -f /dev/vg_name/lvname first
        resize2fs /dev/vg_name/lvname lvmresize xfs resizevolumn
縮減邏輯卷 lvreduce
    先縮減文件系統的邊界大小 然后修改物理邊界大小
        1.卸載文件系統
        2.e2fsck [xfs_repair] -f /dev/vg_name/lvname
        3.resize2fs /dev/vg_name/lvname size
        4.lvreduce -L [-]#單位 /dev/vg_name/lvname
        5. mount
lvm的遷移
        1 取消掛載
        2 確保沒有重名的vg vgrename vgnamenewname
        3 vgchange -an newname
        4 vgexport newname
        5 拆除磁盤
          插到另一臺機子上
                1 插入新主機
            pvscan 重新掃描一下 pv
            vgimport newname
        vgchange -ay newname
1 、創建一個至少有兩個PV 組成的大小為20G 的名testvg的 的VG ;要求PE 大小為16MB,  而后在卷組中創建大小5G 的邏輯卷testlv ;掛載至/users 目錄
  1 pvcreate /dev/sdb1 /dev/sdc1
  2 vgcreate -b 16MB testvg /dev/sdb1 /dev/sdc
  3 lvcreate -L 5G -n testlv testvg
  4 mkfs.ext4 /dev/testvg/testlv
2、 新建用戶archlinux ,要求其家目錄為/users/archlinux,而后su 切換至archlinux 用戶,復制/etc/pam.d 目錄至自己
的家目錄
  1 useradd archlinux -d /users/archlinux
  2 cp /etc/pam.d  /users/archlinux
3 、擴展testlv 至7G ,要求archlinux 用戶的文件不能丟失
  1 umount fs
  2 lvextend -L 7G /dev/tesvg/testlv  
  3 lvextend -r -L 7G /dev/tesvg/testlv  可以不用在擴展文系統
  4 fsck.ext4 -f /dev/testvg/testlv                     
  5 resize2fs  /dev/testvg/test/lv 7G
  6 mount

4 、收縮testlv 至3G ,要求archlinux 用戶的文件不能丟失
  1 umount fs
  2 fsck.ext4 -f /dev/testvg/testlv
  3 resize2fs /dev/testvg/testlv 3G
  4 lvreduce -L 3G /dev/testvg/testlv
5 、對testlv 創建快照,并嘗試基于快照備份數據,驗正快照的功能
 lvcreate -L 4G -p r -s -n snap_testvg /dev/testvg/testlv
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容