您好,登錄后才能下訂單哦!
本篇內容主要講解“Linux中怎么創建及管理LVM邏輯卷”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Linux中怎么創建及管理LVM邏輯卷”吧!
LVM是Linux系統中對磁盤分區管理的一種機制,LVM本質上是一個虛擬設備驅動,LVM邏輯設備不受物理約束的限制,它不必是連續的空間,它可以跨越許多物理卷,可以任意的調整大小。LVM易于磁盤空間的管理。
特點 | 性質 |
---|---|
物理長度PE | 物理長度是將物理卷組合為卷組后,所劃分的最小存儲單位,即邏輯意義上磁盤的最小存儲單位。LVM默認PE大小為4MB。 |
物理卷PV | 物理卷是LVM的最底層概念,是LVM的邏輯存儲塊,物理卷與磁盤分區是邏輯的對應關系。 |
卷組VG | 卷組是LVM邏輯概念上的磁盤設備,通過將單個或多個物理卷組合后生成卷組。卷組的大小取決于物理卷的容量以及個數。 |
邏輯卷LV | 邏輯卷就是LVM邏輯意義上的分區,可以指定從卷組中提取多少容量來創建邏輯卷,最后對邏輯卷格式化并掛載使用。 |
1. fdisk /dev/sdd #n 新建分區 #t 轉換分區格式 #8e 將分區格式轉換為8e LVM2格式 2. 創建pv,將扇區轉化為pe,并驗證 pvcreate /dev/sdd1 /dev/sde1 pvs 查看pv的信息 pvdisplay 查看pv的信息 3. 創建vg虛擬磁盤 vgcreate mytest /dev/sdd1 /dev/sde1 find / -name mytest #查找并查看vg的配置信息 vgs 查看vg虛擬磁盤的信息 vgdisplay 查看vg虛擬磁盤的信息 4. 創建邏輯分區 lvcreate -L +5G mytest(vg名稱),創建出一個分區默認lvol0 find /dev -name lvol0 查找分區位置/dev/mytest/lvol0,創建分區時會在dev目錄下創建vg命名的目錄 5. 格式化文件系統 mkfs.ext4 /dev/mytest/lvol0 6. 掛載使用 mkdir /root/mylv mount /dev/mytest/lvol0 ./mylv 1234567891011121314151617181920212223242526
語法:fdisk 【參數】 【對象】
必要參數
參數 | 功能 |
---|---|
-l | 列出素所有分區表 |
-u | 與”-l”搭配使用,顯示分區數目 |
選擇參數
參數 | 功能 |
---|---|
-s | 指定分區 |
-v | 版本信息 |
操作說明
參數 | 功能 |
---|---|
m | 顯示菜單和幫助信息 |
a | 活動分區標記/引導分區 |
d | 刪除分區 |
l | 顯示分區類型 |
n | 新建分區 |
p | 顯示分區信息 |
q | 退出不保存 |
t | 設置分區號 |
v | 進行分區檢查 |
w | 保存修改 |
x | 擴展應用,高級功能 |
語法:pvcreate 【選項】 【參數】
參數 | 功能 |
---|---|
-f | 強制創建物理卷,不需要用戶確認 |
-u | 指定設備的UUID |
-y | 所有的問題都回答“yes” |
-Z | 是否利用前4個扇區 |
語法:vgcreate 【選項】 【參數】
參數 | 功能 |
---|---|
-l | 卷組上允許創建的最大邏輯卷數 |
-p | 卷組中允許添加的最大物理卷數 |
-s | 卷組上的物理卷的PE大小 |
語法:lvresize 【選項】 【參數】
參數 | 功能 |
---|---|
-L | 指定邏輯卷的大小,單位為“kKmMgGtT”字節 |
-l | 指定邏輯卷的大小(LE數) |
語法:e2fsck 【參數】 【對象】
參數 | 功能 |
---|---|
-a | 檢查 partition,如發現問題會自動修復 |
-b | 設定 superblock 位置。 www.2cto.com |
-B size | 指定 size 作為區塊大小 |
-c | 檢查 partition 是否有壞軌 |
-C file | 將檢查結果儲存到 file |
-d | 輸出 e2fsck debug 結果 |
-fe2fsck | 預設只會對錯誤的檔案系統檢查,加上 -f 是強制檢查 |
-F | 在檢查前將硬盤的 buffer cache 清空,避免發生錯誤 |
-l list | 記錄了壞軌區塊加入 list 中 |
-d | 打印 e2fsck 的 debug 結果 |
-f | 強制檢查 |
-n | 以 (read-only) 開啟檔案系 |
-p | 關閉互動模式,如有問題自動修復,等同 -a |
-v | 顯示詳細報告 |
-y | 啟用使用者互動模式 |
案例要求
創建一個至少有兩個PV組成的大小為20G的名為mydisk的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷默認名字為lvol0;掛載至/users目錄
新建用戶arc,要求其家目錄為/users/arc,而后su切換至arc用戶,復制/etc/pam.d目錄至自己的家目錄
擴展testlv至7G,要求archlinux用戶的文件不能丟失
收縮testlv至3G,要求archlinux用戶的文件不能丟失
對testlv創建快照,并嘗試基于快照備份數據,驗正快照的功能
首先在虛擬機加入2塊10G磁盤,之后利用fdisk命令將磁盤分區并轉換LVM格式
1.首先通過lsblk命令查看磁盤狀態
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 45G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 44.5G 0 part ├─centos-root 253:0 0 40.6G 0 lvm / └─centos-swap 253:1 0 3.9G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk sdc 8:32 0 10G 0 disk sr0 11:0 1 4G 0 rom 123456789
2.然后利用fdisk命令按要求編輯磁盤
[root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xce106979. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-20971519, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): Using default value 20971519 Partition 1 of type Linux and of size 10 GiB is set Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xce106979 Device Boot Start End Blocks Id System /dev/sdb1 2048 20971519 10484736 8e Linux LVM1234567891011121314151617181920212223242526272829
3.利用相同方式將磁盤sdc更改成LVM格式,最后利用lsbkl命令查看分區
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 45G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 44.5G 0 part ├─centos-root 253:0 0 40.6G 0 lvm / └─centos-swap 253:1 0 3.9G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk └─sdb1 8:17 0 10G 0 part sdc 8:32 0 10G 0 disk └─sdc1 8:33 0 10G 0 part sr0 11:0 1 4G 0 rom 1234567891011
利用pvcreate命令創建pv,并將扇區轉化為pe
1.利用pvcreate命令創建pv
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdc1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created.12
2.利用pvs命令查看
[root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- 44.00m
/dev/sdb1 lvm2 --- /dev/sdc1 lvm2 ---
利用vgcreate命令創建vg虛擬磁盤
1.利用vgcreate命令創建虛擬磁盤
[root@localhost ~]# vgcreate mydisk -s 16M /dev/sdb1 /dev/sdc1 Volume group "mydisk" successfully created1
2.利用vgs命令查看創建情況
[root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- 44.00m
mydisk 2 0 0 wz--n- 19.99g 19.99g123
接下來需要利用lvcreate命令創建分區大小為5G
1.首先利用lvcreate命令創建分區,并利用lvs命令查看
[root@localhost ~]# lvcreate -L +5G mydisk Logical volume "lvol0" created. [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- swap centos -wi-ao---- lvol0 mydisk -wi-a----- 5.00g [root@localhost ~]# 1234567
分區創建完畢需要對其進行格式化掛載,利用mount命令掛載即可
1.創建掛載點users并創建文件系統之后掛載分區
[root@localhost ~]# mkdir users [root@localhost ~]# ls anaconda-ks.cfg users [root@localhost users]# mkfs.ext4 /dev/mydisk/lvol0 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 。。。。。。 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done [root@localhost ~]# mount /dev/mydisk/lvol0 ./users/ [root@localhost ~]# ls anaconda-ks.cfg users [root@localhost ~]# cd users/ [root@localhost users]# ls lost+found12345678910111213141516171819202122
以上操作結束后接下來是創建arc用戶
1.創建用戶arc并指定其home目錄,由于在root下操作需要將root目錄更改權限,最后切換用戶查看并復制相關文件
[root@localhost ~]# chmod 777 /root [root@localhost ~]# useradd -d /root/users/arc arc [root@localhost ~]# cat /etc/passwd |grep arc arc:x:1003:1003::/root/users/arc:/bin/bash [root@localhost ~]# passwd arc Changing password for user arc. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [root@localhost ~]# ls anaconda-ks.cfg users [root@localhost ~]# cd users/ [root@localhost users]# ls arc lost+found [root@localhost users]# su - arc [arc@localhost ~]$ cp -a /etc/pam.d ./ [arc@localhost ~]$ ls pam.d12345678910111213141516171819202122
接下來是LVM分區擴展收縮操作,以下是操作流程
?擴展邏輯卷: #lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME #resize2fs /dev/VG_NAME/LV_NAME #lvresize-r -l +100%FREE /dev/VG_NAME/LV_NAME
?縮減邏輯卷: 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
1.擴展邏輯卷操作如下
[root@localhost users]# lvextend -L +2G /dev/mydisk/lvol0 Size of logical volume mydisk/lvol0 changed from 5.00 GiB (1280 extents) to 7.00 GiB (1792 extents). Logical volume mydisk/lvol0 successfully resized. [root@localhost users]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 41G 1.7G 39G 5% / /dev/sda1 497M 167M 331M 34% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/mydisk-lvol0 4.8G 21M 4.6G 1% /root/users [root@localhost users]# resize2fs /dev/mydisk/lvol0 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/mydisk/lvol0 is mounted on /root/users; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/mydisk/lvol0 is now 1835008 blocks long. root@localhost users]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 12M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root 41G 1.7G 39G 5% / /dev/sda1 497M 167M 331M 34% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/mydisk-lvol0 6.8G 23M 6.4G 1% /root/users12345678910111213141516171819202122232425262728
最后是快照操作,流程如下
創建快照 #lvcreate-l 64 -s -n snap-data -p r /dev/vg0/data 掛載快照 #mkdir-p /mnt/snap #mount -o ro/dev/vg0/snap-data /mnt/snap 恢復快照 #umount/dev/vg0/snap-data #umount/dev/vg0/data #lvconvert–merge /dev/vg0/snap-data 刪除快照 #umount/mnt/databackup #lvremove/dev/vg0/databackup
1.以剛剛創建的arc用戶為例為其創建快照
[root@localhost users]# lvcreate -l 64 -s -n arc-snap -p rw /dev/mydisk/lvol0 Logical volume "arc-snap" created.1
2.接下來我們可以切換arc用戶進行各種操作
[root@localhost users]# su - arc Last login: Mon Mar 30 22:11:03 CST 2020 on pts/0 [arc@localhost ~]$ ls pam.d [arc@localhost ~]$ echo jahfkjahgsfj > 1 [arc@localhost ~]$ ls 1 pam.d123456
3.現在我們需要掛載快照,查看快照情況
[root@localhost ~]# mkdir -p /arc/snap [root@localhost ~]# mount -o rw /dev/mydisk/arc-snap /arc/snap/ [root@localhost ~]# cd /arc/snap/ [root@localhost snap]# ls arc lost+found [root@localhost snap]# cd arc [root@localhost arc]# ls pam.d [root@localhost arc]# 12345678
4.最后我們需要恢復到快照之前的狀態
[root@localhost arc]# cd ~ [root@localhost ~]# umount /dev/mydisk/arc-snap [root@localhost ~]# umount /dev/mydisk/lvol0 [root@localhost ~]# lvconvert --merge /dev/mydisk/arc-snap Merging of volume mydisk/arc-snap started. mydisk/lvol0: Merged: 89.02% mydisk/lvol0: Merged: 100.00% [root@localhost ~]# 1234567
5.現在我們登錄arc用戶查看情況
[root@localhost ~]# mount /dev/mydisk/lvol0 ./users/ [root@localhost ~]# su - arc Last login: Mon Mar 30 22:34:55 CST 2020 on pts/0 [arc@localhost ~]$ ls pam.d [arc@localhost ~]$
到此,相信大家對“Linux中怎么創建及管理LVM邏輯卷”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。