在虛擬機裏面添加三個新的硬盤
LVM是Logical Volume Manager(邏輯卷管理器)的簡寫,它爲主機提供了更高層次的磁盤存儲管理能力。LVM可以幫助系統管理員爲應用與用戶方便地分配存儲空間。在LVM管理下的邏輯卷可以按需改變大小或添加移除。另外,LVM可以爲所管理的邏輯卷提供定製的命名標識。因此,使用LVM主要是方便了對存儲系統的管理,增加了系統的擴展性。
目前LVM在Linux下有兩個版本,分別是LVM 1和LVM 2,LVM2不僅僅是Linux邏輯卷管理在版本與功能上的升級,而且是架構在一個新的內核存儲子系統(DM,device-mapper)之上的。這個存儲子系統提供了一個輕量級的、可擴展的卷管理設施。除了在原有LVM卷管理功能的基礎上,Linux的邏輯卷管理將會爲用戶提供更多的存儲管理方案,如鏡像、加密卷、多路徑技術。所以在本節將以LVM 2爲例來詳細介紹LVM的創建與管理。
[root@1 ~]# cat /etc/redhat-release #查看系統版本
CentOS Linux release 7.2.1511 (Core)
[root@1 ~]# uname -r #查看系統內核版本
3.10.0-327.el7.x86_64
[root@1 ~]# uname -m #查看系統是否64位
x86_64
首先我們還是做服務之前先把奇葩的防火牆給關掉,因爲很多規則會撞到牆,注意是服務端和客戶端都要做這個操作
[root@1 ~]# iptables -F
[root@1 ~]# iptables -X
[root@1 ~]# iptables -Z
[root@1 ~]# iptables -L
[root@1 ~]# setenforce 0
[root@1 ~]#vi /etc/sysconfig/selinux #修改SELINUX
首先我們先添加一塊3塊硬盤,爲了方便區分我們把每一塊硬盤的大小做了區分,大小分別爲5G、6G和7G,硬盤的類型還是默認的SCSI版本。
[root@02 dev]# fdisk -l #可以列出所有的分區,包括沒有掛上的分區和usb設備,查看硬盤及分區信息;
我們可以看見下面就是掛載上的硬盤
由於硬盤的主引導記錄中僅僅爲分區表保留了64個字節的存儲空間,而每個分區的參數佔據16個字節,故主引導扇區中總計只能存儲4個分區的數據。也就是說,一塊物理硬盤只能劃分爲4個主分區磁盤。並且MBR最大僅支持2TB的硬盤,在現在這個連4T都不稀奇的時代,MBR出場的機會恐怕會越來越少。
sda和hda的區別:
sd代表的是SCSI,SATA接口硬盤
hd代表IDE接口的硬盤
sda和hda最後面的a都代表的是第一塊硬盤
sda1和hda1則代表的是該硬盤的第一分區
[root@02 dev]# fdisk /dev/sdb #對sdb硬盤進行分區
Command (m for help): m #就會輸出幫助;
a 切換可引導標誌(活動分區/引導分區之間切換)
b 編輯BSD磁盤標籤
c 設置DOS操作系統兼容標記(兼容/不兼容之間切換)
d 刪除一個分區
g 創建一個新的空GPT分區表
G 創建一個ILIX(SGI)分區表
l 列出已知分區類型
m 顯示幫助信息
n 添加新分區
o 創建一個新的空DOS分區表
p 顯示磁盤當前的分區表
q 退出不保存更改
s 創建一個新的空白的Sun磁盤標籤
t 更改分區的系統ID
u 顯示/輸入單元
v 驗證磁盤分區表
w 將分區表寫入磁盤並退出(保存並退出)
x 額外功能(僅專家)
Command (m for help): n #添加新分區;
Select (default p): p #添加一個主分區
分區號(1-4,默認1): #默認的分區賬號
第一扇區(2044-1048 575,默認2048): #默認的話就自動分一個號碼
使用默認值2048
最後扇區,+扇區或+大小{k,m,g}(20481085599,默認10485759): #像這裏我打錯了一個符號發現刪除不了我們可以按住Ctrl+Backapace就可以了
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): +2G #+2G
我們再依照上面的步驟再加一個新的分區爲1G。
Command (m for help): p #打印分區表
Command (m for help): w #寫入磁盤,保存並退出,否則之前的操作都無效。
分區表已經更改了!
調用IOCLT()來重新讀取分區表。
同步磁盤。
[root@02 ~]# pvcreate /dev/sdb1 /dev/sdb2 #將新創建的兩個分區/dev/sdb1 /dev/sdb2轉化成物理卷PV
[root@02 ~]# vgcreate vg01 /dev/sdb1 /dev/sdb2 #創建卷組 vg01 ,這個是個名字可以更改,並將剛纔創建好的兩個物理卷加入該卷組.
[root@02 ~]# vgdisplay #查看物理卷
以下就是顯示的Vg的名字vg01、大小爲2.99G
以及默認PE大小爲4MB,PE是卷組的最小存儲單元
[root@02 ~]# lvcreate -n lv01 -l 100 vg01 #創建一個名字爲Lv01大小爲100的邏輯卷
邏輯卷“LV01”創建。
lvcreate主要參數:
-L 指定邏輯卷的大小,單位爲“kKmMgGtT”字節
-l 指定邏輯卷的大小(LE數)
-n 後面跟邏輯卷名
-s 創建快照
[root@02 ~]# lvdisplay #顯示邏輯卷屬性顯示LVM邏輯卷空間大小、讀寫狀態和快照信息等屬性。
下面顯示就是LV的詳細參數
[root@02 ~]# pvscan #掃描當前系統中所有硬盤的物理卷
[root@02 ~]# mkfs -t ext4 /dev/vg01/lv01 #使用mkfs在邏輯卷LV01上創建ext4文件系統.
MKE2FS 1.42.9(23-DEC-2013)
文件系統標籤=
操作系統類型:Linux
塊大小=1024(log=0)
片段大小=1024(log=0)
步長=0個塊,條帶寬度=0個塊
102400個節點,409600個塊
爲超級用戶保留的20480個塊(5%)
第一數據塊=1
最大文件系統塊=34078720
50方塊羣
每組8192個塊,每組8192個片段
每組2048個節點
存儲在塊上的超級塊備份:
8193, 24577, 40961、57345, 73729, 204801、221185, 401409
分配組表:完成
寫入索引表:完成
創建日誌(8192個塊):完成
編寫超級塊和文件系統會計信息:完成
[root@02 ~]# df -Th #查看掛載
[root@02 ~]# mkdir /mnt/lv01 #創建一個掛載的目錄隨便命名LV01
[root@02 ~]# mount /dev/vg01/lv01 /mnt/lv01/ #掛載到新創建的目錄下面
[root@02 ~]# vim /etc/fstab
爲了查看/mnt/LV01是否設置正確,可以先卸載邏輯卷LV01,然後使用mount –a 使內核重新讀取/mnt/LV01,看是否能夠自動掛載.
當邏輯卷不夠用了,如何擴展。
[root@02 ~]# fdisk /dev/sdc #爲了實驗接着我們又在另外一塊硬盤上面下手
添加分區步驟同上,爲了方便我分別創建了兩個1G的分區,看一下圖片
[root@02 ~]# pvcreate /dev/sdc{1,2} #創建一個pv
[root@02 ~]# lsblk -f #列出所有塊設備信息
通過partx工具讓內核重讀磁盤分區表,partx命令告用來訴內核當前磁盤的分區情況
選項
-a 增加制定的分區或讀磁盤新增的分區
-d 刪除制定或所有的分區
-l 列出分區
--type 指定分區類型。dos,bsd,solaris,unix,或者gpt
--nr M-N 指定分區範圍
[root@02 ~]# partx -s /dev/sdc #顯示磁盤分區信息
partprobe: 用於重讀分區表,當出現刪除文件後,出現仍然佔用空間。可以partprobe在不重啓的情況下重讀分區。將磁盤分區表變化信息通知內核,請求操作系統重新加載分區表。
-d 不更新內核
-s 顯示磁盤分區彙總信息
-h 顯示幫助信息
-v 顯示版本信息
[root@02 ~]# vgcreate -s 8M kk /dev/sdc1 /dev/sdc2 #創建名爲kk卷組上的物理卷的8MPE大小
[root@02 ~]# vgdisplay 查看一下
[root@02 ~]# lvcreate -L 1.98G kk /dev/sdc1 /dev/sdc2 #因爲上面vg大小爲1.98G所以只能創建這麼大 的LV卷
[root@02 ~]# mkfs -t ext4 /dev/kk/lvol0 #指定格式
[root@02 ~]# mkdir /mnt/lv02 #創建一個掛載目錄
[root@02 ~]# mount /dev/kk/lvol0 /mnt/lv02 #掛載目錄
[root@02 ~]# df -Th #看一下掛載
[root@02 ~]# lvreduce -L -400M /dev/kk/lvol0 #縮小邏輯卷400M
//警告:將活動邏輯卷減少到1.59 GIB
//這可能破壞您的數據(文件系統等)。
//你真的想減少LVOL0嗎?[Y/N]:Y
//邏輯卷KK/LVOL0的大小從1.98 GIB(254個擴展)變爲1.59個GIB(204個擴展)。
//邏輯卷LVOL0成功調整大小。
[root@02 ~]# lvdisplay #查看一下邏輯捲髮現已經變成了1.59GiB了
[root@02 ~]# mount /dev/mapper/kk-lvol0 /mnt/lv02 #我掛載一下發現除了問題
安裝:錯誤的FS類型,壞的選項,壞的超級塊/DEV/MAPPER/KK-LVRO0,
缺少代碼頁或輔助程序或其他錯誤
在某些情況下,在SysLog-Type中找到有用的信息。
尾巴等。
[root@02 ~]# resize2fs -f /dev/mapper/kk-lvol0 1500M #這種情況我又重新縮小了一下邏輯卷
[root@02 ~]# mount /dev/mapper/kk-lvol0 /mnt/lv02 #重新掛載一下
[root@02 ~]# df -h #看一下發現已經掛載上了