centos 7 新增硬盤擴容及分區:需要用到fdisk
命令來進行分區
1,如果我們的硬盤格式是GPT格式的則需要轉換成dos格式才能用fdisk命令來操作該硬盤 ,在上一章中記錄過——轉換方法
先用fdisk -l
來查看當前所存在的磁盤:
紅色方框標記的就是我新增的兩塊硬盤(當然我之前打開顯示的是GPT格式,我以通過轉換方法轉換成了linux)現在就可以使用fdisk
命令來進行分區了:
當前完成了對 /dev/sdb 硬盤的分區再使用 fdisk -l
來查看就會看見 圖一 /dev/sdb1 字樣;
分完區後將新建分區文件系統設爲系統所需格式:
mkfs.文件系統格式 /dev/sdb1
以設置文件系統爲“ext3”爲例:
mkfs.ext3 /dev/sdb1
等待設置完成後就可以掛載到相應的文件夾下進行使用了
我在當前系統根目錄下創建了一個data11 目錄並用來做一個掛載點:
mount /dec/sdb1 /data11
執行過該條命令後就掛載成功了,可通過df -Th
來進行查看:(重點以加粗)
[root@192 data11]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 50G 11G 40G 22% /
devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 3.8G 8.8M 3.8G 1% /run
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
**/dev/sdb1 ext3 500G 70M 879M 1% /data11**
以上步驟就實現了單塊硬盤的分區掛載使用 。。。
but 我有兩塊硬盤當我都掛載到同一文件下發現只能掛載一塊再掛載之前的會被覆蓋:只存在一塊。那麼我們還要多的硬盤是不是沒用了,當然有用!!! 只不過掛載方式不一樣了(硬盤合成)通過百度觀察LVM磁盤管理思想發現:原來硬盤還可以這樣操作(小白的我很是驚訝吶!):
LVM的工作原理其實很簡單,它就是通過將底層的物理硬盤抽象的封裝起來,然後以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,我們的上層應用是直接訪問文件系統,從而對底層的物理硬盤進行讀取,而在LVM中,其通過對底層的硬盤進行封裝,當我們對底層的物理硬盤進行操作時,其不再是針對於分區進行操作,而是通過一個叫做邏輯卷的東西來對其進行底層的磁盤管理操作。比如說我增加一個物理硬盤,這個時候上層的服務是感覺不到的,因爲呈現給上次服務的是以邏輯卷的方式。
LVM最大的特點就是可以對磁盤進行動態管理。因爲邏輯卷的大小是可以動態調整的,而且不會丟失現有的數據。我們如果新增加了硬盤,其也不會改變現有上層的邏輯卷。作爲一個動態磁盤管理機制,邏輯卷技術大大提高了磁盤管理的靈活性!!!
LVM的原理
要想理解好LVM的原理,我們必須首先要掌握4個基本的邏輯卷概念。
①PE (Physical Extend) 物理拓展
②PV (Physical Volume) 物理卷
③VG (Volume Group) 卷組
④LV (Logical Volume) 邏輯卷
我們知道在使用LVM對磁盤進行動態管理以後,我們是以邏輯卷的方式呈現給上層的服務的。所以我們所有的操作目的,其實就是去創建一個LV(Logical
Volume),邏輯卷就是用來取代我們之前的分區,我們通過對邏輯捲進行格式化,然後進行掛載操作就可以使用了。那麼LVM的工作原理是什麼呢?
圖片描述:
在LVM磁盤管理裏,我首先要將這兩塊硬盤格式化爲我們的PV(Physical Volume),也就是我們的物理卷,其實格式化物理卷的過程中LVM是將底層的硬盤劃分爲了一個一個的PE(Physical Extend),我們的LVM磁盤管理中PE的默認大小是4M大小,其實PE就是我們邏輯卷管理的最基本單位。比如說我有一個400M的硬盤,那麼在將其格式化成PV的時候,其實際就是將這塊物理硬盤劃分成了100個的PE,因爲PE默認的大小就是4M。這個就是我們的第一步操作。
1,pvcreate /dev/sdb1 /dev/sdc1
(可通過pvdisplay 查看)
在將硬盤格式化成PV以後,我們第二步操作就是創建一個卷組,也就是VG(Volume Group),卷組在這裏我們可以將其抽象化成一個空間池,VG的作用就是用來裝PE的,我們可以把一個或者多個PV加到VG當中,因爲在第一步操作時就已經將該硬盤劃分成了多個PE,所以將多個PV加到VG裏面後,VG裏面就存放了許許多多來自不同PV中的PE,我們通過上面的圖片就可以看到,我們格式化了兩塊硬盤,通常創建一個卷組的時候我們會爲其取一個名字,也就是該VG的名字。
2,vgcreate data /dev/sdb1 /dev/sdc1
(可通過vgdisplay 查看)
現在我們要創建邏輯卷基於卷組(VG)創建邏輯卷(LV) 通過 lvcreate 命令
因爲創建好的PV、VG都是底層的東西,我們上層使用的是邏輯卷,所以我們要基於VG創建我們的邏輯卷才行
用的命令是:lvcreate -n mylv -L 1030G data ## mylv–自定義的卷名, data 是剛纔的卷組 用lvdisplay 查看卷信息
3,lvcreate -n mylv -L 1030G data
(可通過lvdisplay 查看)
我們已經創建好了我們的PV、VG以及LV,這時候我們如果要使用邏輯卷,就必須將其格式化成我們需要用的文件系統,
並將其掛載起來,然後就可以像使用分區一樣去使用邏輯捲了
mkfs.ext3 /dev/data/mylv
格式化文件系統
格式化我們的邏輯卷以後,就可以使用 mount 命令將其進行掛載,我們將其掛載到 /data11 目錄下, data11目錄是我提前創建好的
mount /dev/data/mylv /data11
掛載
修改/etc/fstab文件,讓其開機自動掛載
vim /etc/fstab 按G 跳到最後一行加入如下內容
“/dev/data/mylv /data11 ext3 defaults 0 0”
根據你的實際環境改變
到這裏我們就實現了二合一的使用,但是如果我們後期還要繼續添加硬盤 ↓ ↓ ↓
假設我們再增加一塊硬盤爲 /dev/sdd1
第一步:
[root@192 /]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.
[root@192 /]# pvdisplay
--- Physical volume ---
PV Name /dev/sdd1
VG Name data
PV Size 465.76 GiB / not usable 3.02 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 119234
Free PE 0
Allocated PE 119234
PV UUID 2JuybS-xzUQ-h7q5-hzLF-fFqv-UzU3-G3ZozC
第二步:
[root@192 /]# vgextend data /dev/sdd1
Volume group "data" successfully extended
[root@192 /]# vgdisplay
--- Volume group ---
VG Name data
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 4
Act PV 4
VG Size <1.82 TiB //這裏會發現容量已經增大了
PE Size 4.00 MiB
Total PE 476936
Alloc PE / Size 348160 / <1.33 TiB
Free PE / Size 128776 / 503.03 GiB
VG UUID hqdEd1-03aQ-zMsd-fPeV-JluL-0joY-jXhdGu
第三步:
[root@192 /]# lvextend -l +100%FREE /dev/data/mylv
Size of logical volume data/mylv changed from <1.33 TiB (348160 extents) to <1.82 TiB (476936 extents).
Logical volume data/mylv successfully resized.
[root@192 /]# lvdisplay
--- Logical volume ---
LV Path /dev/data/mylv
LV Name mylv
VG Name data
LV UUID jGXCJR-HdxT-XXQx-Yhyb-0vM0-VyN2-8gRweb
LV Write Access read/write
LV Creation host, time 192.168.0.104, 2019-02-14 10:30:47 +0800
LV Status available
# open 1
LV Size <1.82 TiB //邏輯卷的容量也擴容了
Current LE 476936
Segments 4
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
到這裏 df -Th
查看我們的掛載盤發現容量還是未增加
則需要刷新一下掛載盤resize2fs /dev/data/mylv
之後就會發現掛載盤的容量也得到擴容了 實現了 二加一的擴容
下面我們來對整個LVM的工作原理進行一個總結:
(1)物理磁盤被格式化爲PV,空間被劃分爲一個個的PE
(2)不同的PV加入到同一個VG中,不同PV的PE全部進入到了VG的PE池內
(3)LV基於PE創建,大小爲PE的整數倍,組成LV的PE可能來自不同的物理磁盤
(4)LV現在就直接可以格式化後掛載使用了
(5)LV的擴充縮減實際上就是增加或減少組成該LV的PE數量,其過程不會丟失原始數據