- LVM:Logical Volume Manager # 邏輯卷管理
- DM:Device Mapper # 設(shè)備映射器,可以將一個(gè)或多個(gè)物理塊設(shè)備組成一個(gè)邏輯塊設(shè)備
- VG:Volume Group # 卷組,一個(gè)或多個(gè)物理塊設(shè)備的組合
- PV:Physical Volume # 實(shí)體卷,物理卷,物理分區(qū)
- LV:Logical Volume # 在 VG 上創(chuàng)建的可供系統(tǒng)和應(yīng)用調(diào)用的虛擬塊設(shè)備,Each block of data in an LV is stored on one or more PV in the VG, according to algorithms implemented by Device Mapper (DM) in the kernel.
- PE:Physical Extents # 物理區(qū)段,硬盤(pán)可供指派給邏輯卷的最小單位(通常為4MB)
- LE:Logic Extends # 邏輯區(qū)域,跟PE一樣,只不過(guò)站在LV的視角上是叫LE
邏輯卷塊設(shè)備文件在系統(tǒng)的存儲(chǔ)位置,以下同為 符號(hào)鏈接文件,指向 /dev/dm<#>
- /dev/mapper/VG_NAME-LV_NAME
如:/dev/mapper/vg0-root - /dev/VG_NAME/LV_NAME
如:/dev/vg0/root
1. PV 管理
pvcreate # 初始化LVM使用的物理卷
# pvcreate /dev/sda3
注:在創(chuàng)建 PV 前,應(yīng)先把分區(qū)類(lèi)型調(diào)整為 Linux LVM (8e)pvs # 顯示簡(jiǎn)要的 PV 信息
pvdisplay # 顯示詳細(xì)的 PV 信息
pvmove # 移動(dòng) PV 上的 PE 信息到另一個(gè) PV
pvremove # 刪除該 PV,如此以至于 LVM 不會(huì)再把該設(shè)備識(shí)別為 PV
2. VG 管理
- vgcreate # 創(chuàng)建 VG
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
-s 指定 PE 大小
# vgcreate myvg /dev/sda{3,5,6}
vgs # 顯示簡(jiǎn)要的 VG 信息
vgdisplay # 顯示詳細(xì)的卷組信息
# vgdisplay -vvgrename # 重命名卷組名稱
# vgrename VG VG_newvgextend # 添加 PV 至 VG
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
# vgextend myvg /dev/sda{7,8}
- vgreduce # 將 PV 從 VG 中移除
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
注:要先做 pvmove
# pvmove /dev/sda7 # 移動(dòng) 7 到其他任一 PV
或 # pvmove /dev/sda7 /dev/sda8 # 從 7 移到 8
# vgreduce myvg /dev/sda7 # 從卷組 myvg 中移除 PV /dev/sda7
# vgreduce -a myvg # 從卷組 myvg 中移除所有無(wú)用的 PVs
# vgreduce --removemissing myvg # 從卷組 myvg 中移除所有遺失的 PVs
- vgremove # 刪除卷組
3. LV 管理
- lvcreate # 創(chuàng)建 LV
lvcreate -L size [mMgGtT] -n NAME VolumeGroup
# lvcreate -L 2G -n mylv1 myvg
lvs
lvdisplay
# lvdisplay -vlvextend # 擴(kuò)展邏輯卷
lvextend -L [+] size [mMgGtT] /dev/VG_NAME/LV_NAME
# lvextend -L 3G /dev/myvg/mylv1
# lvextend -L +1G /dev/myvg/mylv1
then
# resize2fs /dev/VG_NAME/LV_NAME # 針對(duì)該 LV 已經(jīng)格式化后,或用 -r 參數(shù)
# lvextend -L +1G -r /dev/myvg/mylv1
- lvreduce # 縮減邏輯卷
lvreduce -L [-] size [mMgGtT] /dev/VG_NAME/LV_NAME
# lvreduce -L -1G /dev/myvg/mylv1
# lvreduce -L 2G /dev/myvg/mylv1
合理步驟:
# umount /dev/VG_NAME/LV_NAME
# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount快照 snapshot
lvcreate -L size [mMgGtT] -p r -s -n snapshot_lv_name original_lv_name
4. 光盤(pán)設(shè)備和掛載
光盤(pán)設(shè)備文件:
IDE: /dev/hdc
SATA: /dev/sr0符號(hào)鏈接文件:
/dev/cdrom
/dev/cdrw
/dev/dvd
/dev/dvdrw
# mount -r /dev/cdrom /media/cdrom # 只讀掛載
# umount /dev/cdrom
5. dd 命令
dd命令:convert and copy a file
用法:
# dd if=/PATH/FROM/SRC of=/PATH/TO/DEST
bs=#:block size, 復(fù)制單元大小
count=#:復(fù)制多少個(gè)bs磁盤(pán)拷貝:
# dd if=/dev/sda of=/dev/sdb備份MBR
# dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1破壞MBR中的bootloader:
# dd if=/dev/zero of=/dev/sda bs=256 count=1兩個(gè)特殊設(shè)備:
/dev/null: 數(shù)據(jù)黑洞;
/dev/zero:吐零機(jī);