存儲管理
基本分區
^流程: 分區、格式化(文件系統)、掛載。
1.查看磁盤信息
# lsblk
2.創建分區
創建
# disk /dev/sdb
1.n //創建新分區
2.p //主分區
3.1 //選擇1號分區
4.回車 //確定起始扇區
5.+size //結束大小
6.w //保存分區設置
7.d //刪除
查看分區信息
# fdisk -l /dev/sdb //查看分區信息
# partprobe /dev/sdb //在有緩存的時候,刷新磁盤分區表。
3.格式化(創建文件系統)
# mkfs.ext4 /dev/sdb1
^注: centos7 默認使用 xfs文件系統
4.掛載
手動掛載 [重啓失效]
1> 創建掛載點 mikdir /mnt/disk1(名字隨意)
2> # mount -t ext4 /dev/sdb1 /mnt/disk1 //手動不推薦
3> # mount -t xfs /dev/sdb2 /mnt/disk2 //手動不推薦
自動掛載 [重啓不失效]
- 查看分區 ID (UUID)
# blkid
- 使用UUID創建分區
1> # vim /etc/fstab
2> 將UUID複製到原有的UUID下面
UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" /mnt/disk1 auto defaults 0 0
UUID="4d26172c-7aff-4388-baa5-c6756c014d52" /mnt/disk2 ext4 defaults 0 0
3> 手動刷新 mount -a
注意/etc/fstab中有固定格式
磁盤 掛載點 文件系統 屬性 備份 檢測
/dev/vdb1 /mnt/disk1 xfs或者auto default 0 0
查看掛載信息
# df -hT
邏輯卷LVM
^目的: 管理磁盤的一種方式,性質與基本磁盤無異
^特點: 隨意擴張大小,縮減大小,快照備份。
^流程: 格式化、掛載
名詞
PV:物理卷(Physical volume)
VG:卷組(Volume Group)
LV:邏輯卷(Logical Volume)
PE:物理塊(Physical Extent)
LE:邏輯塊(Logical Extent)
創建LVM
1.pv
將物理磁盤轉轉換成物理卷 -pv
# pvcreate /dev/sdc
查看pv信息
# pvcan # pvs #pvdisplay
2.vg
^vgcreate: 將使用pvcreate建立的物理卷創建爲一個完整的卷組
創建卷組 -vg
# vgcreate vg1 /dev/sdc
3.lv
# lvcreate -L 200M -n lv1 vg1
|------|---|---|----|------------- 指定大小
| |----|------------- 指定lv名
|--------------指定卷組
# 指定大小單位:M,G
# lvscan //查看lv
4.創建文件系統
mkfs.ext4 /dev/vg1/lv1
5.掛載
# 見基本分區掛載
VG管理
擴容
- 創建PV
#pvcreate /dev/sdd
- 擴展PV
# vgextend vg1 /dev/sdd
縮容
注意!數據遷移。
- 查看pv使用情況
pvs
- 數據遷移
# pvmove /dev/sdc
^注:此處遷移的是vg裏的數據
# pvs
^注:再次查看空間已發生變化
- 縮減 vgreduce
# vgreduce vg1 /dev/sdd
^注:vgs 觀察 pv數量變少了
LV擴容
1.擴容lv
1> 查看vg空間
# vgs
2> 擴容 lvextend
# lvextend -L +200M /dev/vg1/lv1
2.擴容FS
# resize2fs /dev/vg1/lv1
2.減小lv
1> 卸載
# umount /dev/vg1/lv1
2> 調整分區大小
# e2fsck -f /dev/vg1/lv1
# resize2fs -p /dev/vg1/lv1 100M
3> 減容
# lvreduce -L 200M /dev/vg1/lv1
4> 掛載
LVM快照snap
創建
創建快照卷((ext4)
# lvcreate -L 128M -s -n lv1-snap /dev/vg1/vg1
^注: 注意vg大小
查詢快照卷大小
# lvs
掛載快照卷
1>創建目錄
# mkdir /mnt/lv1-snap
2>mount -o ro /dev/vg1/lv1-snap /mnt/lv1-snap
查看Snapshot
1>查看兩個卷掛載情況
# df -Th
2>查看兩個卷的關係
# lvscan
3>查看文件內容
# ls /mnt.lv1
4>觀察Snapshot
# lvs
^注:XFS不識別uuid,所以需要單獨加上-o nouuid來忽略。掛載快照儘量使用ro方式,不易損壞數據。
# mount -o nouuid,ro /dev/vg1/lv1-snap /mnt/lv1-snap/
恢復
進入快照目錄
# cd /mnt/lv1-snap
打包內容
# tar -cf snap.tar
卸載快照
# umount /mnt/lv1-snap
解壓到原目錄
# tar xf
交換分區swap
簡介
作用
‘提升‘ 內存的容量,防止OOM(Out Of Memory)
swap大小
交換分區大小爲內存的2倍
查看當前交換分區
# free -m
total used free shared buff/cache available
Mem: 489 140 145 4 202 304
Swap: 0 0 0
# swapon -s
增加交換分區
^注: 以LVM爲例
準備分區
# fdisk /dev/sde //劃分分區磁盤
格式化
# mkswap /dev/sde1
掛載
1>查詢uuid
# blkid /dev/sde1
2>自動掛載
# vim /etc/fstab
3> 讀取
# swapon -s
交換分區調優
swap優先級
swap分區的優先級(Priority)從高到低依次使用,最高32767,最低優先級是0
這樣設置使得Linux並行的使用優先級相同的swap分區(Priority = 1的分區),這會大幅的提高對swap的讀寫。當這些分區滿了,就會使用較低優先級swap分區(Priority = 0的分區)
設置
# /vim/etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap defaults,pri=1 0 0 ↑注意
UUID="ea5b1c77-e540-465c-9644-0d75457f8b45" swap swap defaults,pri=1 0 0↑ ↑注意
# swapon -a
# swapon -s
文件系統詳解
EXT3/4文件系統
類型
索引index文件系統
存儲結構
磁盤>分區>文件系統>塊組>索引目錄>數據塊
名詞
superblock
#記錄此文件系統的整體信息。包括inode/block的總量,使用量,剩餘量,以及文件系統的格式等等。
inode
#記錄文件的屬性(文件的元數據metadata),一個文件佔用一個inode,同時記錄此文件數據所在的block numbber。inode大小 爲 128 bytes
block
# 實際存儲文件的內容,若文件較大,會佔用多個block。block大小 爲 1, 2, 4K
查看方式
- ext4文件系統
1>通過 dumpefs查看
# dumpe2fs /dev/vg1/lv1
# dumpe2fs /mnt/lv2 |les
2>通過tunfs查看
# tune2fs -l /dev/sda3
- xfs文件系統
# xfs_growfs /dev/vg1/lv1
# xfs_info /dev/vg1/lv1
文件鏈接
軟連接
^注: 軟連接是一個新文件,像快捷方式。可以對文件和目錄做軟連接,軟連接記錄的是源文件的絕對路徑。軟連接失去不可用。
創建方式
# ln -s /file1 /home/file11
硬鏈接
^注: 1.硬鏈接只對文件做,不能對目錄做。2.硬鏈接只能在同分區做。3.硬鏈接不佔block只是複製了inode。
# ln /file1 /home/file11
RAID
raid:廉價磁盤冗餘陣列
作用
容錯,提升讀寫速度。
raid0 條帶集 2+100% 讀寫速率快,不容錯
raid1 鏡像集 2 50%讀寫速率一般,容錯。
raid5 帶奇偶校檢條帶集 3+(n-1)/n 讀寫快,容錯,允許壞一塊
raid6 帶奇偶校驗條帶集雙校驗 4+ (n-2)/n 讀寫快,容錯,允許壞兩塊
raid10 RAID1的安全+RAID0的高速 4 50% 讀寫速率快,容錯
raid50 RAID5的安全+RAID0的高速 6 (n-2)/n 讀寫速率快,容錯
raid60 RAID6的安全+RAID0的高速 8 (n-4)/n 讀寫速率快,容錯
實現方式
硬RAID: 需要RAID卡,有自己的CPU,處理速度快,有電池和無電池。
軟RAID: 通過操作系統實現,比如Windows、Linux
附表1
功能 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
---|---|---|---|
Scan 掃描 | pvscan | vgscan | lvsacan |
Crerate 建立 | pvcreate | vgcreate | lvcreate |
Display 顯示 | pvdisplay | vgdisplay | lvdispaly |
Remove 刪除 | pvremove | vgremove | lvremove |
Extend 擴展 | vgextend | lvextend | |
Reduce 減少 | vgreduce | lvreduce |
附表2
功能 | 命令 |
---|---|
查看磁盤信息 | lsblk |
查看分區 ID (UUID) | blkid |
查看掛載信息 | df -hT |