LVM磁盤改造及擴容

一、 小於2T磁盤的分區創建

1、首先查看磁盤
fdisk -l
2、進入磁盤
fdisk /dev/sdb
n 創建新磁盤
p 創建主分區
創建分區ID 1-4爲主分區
根據提示選擇磁盤開始位置(默認空格就好)
選擇結束位置(新增磁盤大小)
t 修改分區類型
8e lvm分區
w 保存退出

二、大於2T磁盤的GPT分區創建

1)交互式:
parted /dev/sdb
mklabel gpt //設置磁盤類型
p //使用p命令進行查看磁盤信息
mkpart primary 0 2T //創建分區
name 1 diskname(即分區名字)//設置分區名字
set 1 lvm on //設置分區標誌
align-check gpt //檢查分區類型是否滿足類型的約束,type 必須是 “minimal” or “optimal”.(完整檢查和最小化檢查)
rm 1(你要想刪除的分區ID) //刪除分區
quit //退出parted
示例:

root@:~# parted /dev/vde
GNU Parted 3.2
使用 /dev/vde
歡迎使用 GNU Parted! 輸入 'help'可獲得命令列表.
(parted) mklabel gpt                                                      
警告: The existing disk label on /dev/vde will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? yes                                                         
(parted) p                                                                
Model: Virtio 塊設備 (virtblk)
磁盤 /dev/vde: 35.2TB
Sector size (logical/physical): 512B/512B
分區表:gpt
Disk Flags: 

數字  開始:  End  大小  文件系統  Name  標誌

(parted) mkpart primary 0 32T
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放棄/Cancel? ignore                                           
(parted) p                                                                
Model: Virtio 塊設備 (virtblk)
磁盤 /dev/vde: 35.2TB
Sector size (logical/physical): 512B/512B
分區表:gpt
Disk Flags: 

數字  開始:  End     大小    文件系統  Name     標誌
 1    17.4kB  32.0TB  32.0TB            primary

(parted) name 1 video1
(parted) p                                                                
Model: Virtio 塊設備 (virtblk)
磁盤 /dev/vde: 35.2TB
Sector size (logical/physical): 512B/512B
分區表:gpt
Disk Flags: 

數字  開始:  End     大小    文件系統  Name    標誌
 1    17.4kB  32.0TB  32.0TB            video1

(parted) set 1 lvm on                                                     
(parted) p                                                                
Model: Virtio 塊設備 (virtblk)
磁盤 /dev/vde: 35.2TB
Sector size (logical/physical): 512B/512B
分區表:gpt
Disk Flags: 

數字  開始:  End     大小    文件系統  Name    標誌
 1    17.4kB  32.0TB  32.0TB            video1  lvm

(parted) align-check gpt
parted: invalid token: gpt
alignment type(min/opt)  [optimal]/minimal?                               
分區編號? 1                                                              
1 not aligned
(parted) p                                                                
Model: Virtio 塊設備 (virtblk)
磁盤 /dev/vde: 35.2TB
Sector size (logical/physical): 512B/512B
分區表:gpt
Disk Flags: 

數字  開始:  End     大小    文件系統  Name    標誌
 1    17.4kB  32.0TB  32.0TB            video1  lvm
 (parted) q                                                                
信息: You may need to update /etc/fstab.

在這裏插入圖片描述
2)命令行:
parted -s /dev/sdb “mklabel gpt”
parted -s /dev/sdb “mkpart primary 0 8T”
parted -s /dev/sdb “mkpart primary 8000G 20T”
parted -s /dev/sdb “name 1 video”
parted -s /dev/sdb “name 2 hdfs”
parted -s /dev/sdb “set 1 lvm on”
parted -s /dev/sdb “set 2 lvm on”
partprobe /dev/vdb(掃盤)

三、創建LVM磁盤組件

1)利用創建好的分區,構建PV,pv裏最小的單元稱爲pe,大小相同;

在這裏插入圖片描述
記住開始和結束磁柱

此處磁盤爲非LVM分區管理方式,要把傳統磁盤變更爲LVM分區管理,可考慮:
1)添加新的磁盤,劃分 LVM 分區,遷移舊磁盤文件到新磁盤;
2)把原磁盤擴容或剩餘空間劃分爲 LVM 分區,遷移舊分區文件到新的 LVM 分區。

2)利用上面創建好的2個磁盤分區創建lvm磁盤:

<1>創建PV:pvcreate /dev/vde1,如下圖:
在這裏插入圖片描述
驗證:pvdisplay 或 pvscan或pvs
在這裏插入圖片描述
在這裏插入圖片描述
<2>創建VG卷組:
格式:vgcreate vgname(名稱) /dev/sdb1
vgcreate video /dev/vde1
在這裏插入圖片描述
驗證:vgdisplay或vgs
在這裏插入圖片描述

<3>加入另外一塊磁盤到vg組裏:
在這裏插入圖片描述
將新的PV加入到當前VG
格式:vgextend data(現有的vgname) /dev/sdb1(PV絕對路徑)
在這裏插入圖片描述
驗證:
在這裏插入圖片描述
<4>創建LV:
格式:lvcreate -n lvname(lv名字) -L 32T(lv磁盤大小) vgname(vg名字)
驗證:lvs(查看lv)
lvcreate -n vidstor -L 58T video
在這裏插入圖片描述
驗證:
在這裏插入圖片描述
另外其他操作,示例:
lvcreate -L 1G -n lvname -s -p r /dev/vg/lv //創建一個1G的只讀快照卷
-s:表示創建快照卷
-p r|w :指定快照卷權限 r爲只讀 w爲寫

<5>格式化LV,創建文件系統個,掛載使用:

這裏涉及一個問題,到底選用xfs還是ext4文件系統呢,據網絡相關資料顯示,兩者性能差不多,但xfs在大多數場景下整體IOPS表現還是要比ext4來得更高、更穩定,延遲也更小。隨機讀寫模式下,ext4性能比xfs將近高一倍,初始化模式下,ext4性能並沒有比xfs來得高
在這裏插入圖片描述
另外,之前的ext3和ext4的最大區別在於,ext3在fsck時需要耗費大量時間(文件越多,時間越長),而ext4在fsck時用的時間會少非常多

ext4是第四代擴展文件系統(英語:Fourth EXtended filesystem,縮寫爲ext4)是linux系統下的日誌文件系統,是ext3文件系統的後繼版本
ext4的文件系統容量達到1EB,而文件容量則達到16TB,這是一個非常大的數字了。對一般的臺式機和服務器而言,這可能並不重要,但對於大型磁盤陣列的用戶而言,這就非常重要了。而ext3目前只支持32000個子目錄,而ext4取消了這一限制,理論上支持無限數量的子目錄

xfs是一種非常優秀的日誌文件系統,它是SGI公司設計的。xfs被稱爲業界最先進的、最具可升級性的文件系統技術。xfs文件系統以其強大且成熟的64位日記文件系統而著稱,該系統支持單個節點或主機上的非常大的文件和文件系統,日記的概念確保在系統崩潰的情況下存在文件系統完整性,日記記錄通過保留文件系統操作的記錄來執行此操作,該記錄可在重新啓動系統並重新裝入文件系統時重播,XFS在需要高性能和可伸縮性的環境中運行,因此通常被測量爲具有企業工作負載的大型系統上性能最高的文件系統之一。xfs是一個64位文件系統,最大支持8EB減1字節的單個文件系統,實際部署時取決於宿主操作系統的最大塊限制。對於一個32位Linux系統,文件和文件系統的大小會被限制在16TB。
xfs在很多方面確實做的比ext4好,ext4受限制於磁盤結構和兼容問題,可擴展性和scalability確實不如xfs。

XFS文件系統的功能:

它支持元數據日記功能,這有助於更快地進行崩潰恢復。

緊密集成的備份和還原實用程序。

聯機碎片整理和增長:此文件系統可以在安裝和激活時進行碎片整理和放大。

全面的診斷功能。

可擴展且快速的維修工具,XFS可擴展至超過500TB的exabytes。

流式視頻工作負載的優化。

B樹索引,用於自由空間管理的可擴展性。

能夠支持大量併發操作。

廣泛的運行時元數據一致性檢查。

複雜的元數據預讀算法。

延遲,基於範圍的分配。

動態分配的inode。

擴展屬性(xattr):這允許系統爲每個文件關聯幾個附加的名稱/值對,它默認啓用。

與Ext4相比,XFS對單線程,元數據密集型工作負載的性能相對較差,這包括在單個線程中創建或刪除大量小文件的工作負載。

配額日記:這可以避免在崩潰後進行冗長的配額一致性檢查。

結論:
綜合以上,本次主要用作視頻文件存儲,採用xfs文件系統;
格式化LV:mkfs.xfs /dev/video/vidstor
在這裏插入圖片描述
<6>創建掛載點,掛載使用:
在這裏插入圖片描述
驗證:
在這裏插入圖片描述

四、其他磁盤管理命令

<1>與LVM有關的命令

lvcreate :創建 LV
lvscan :查詢系統上面的 LV
lvdisplay :顯示系統上面的 LV 狀態
lvextend :在 LV 裏面增加容量
示例1:lvextend -L +837G(需要擴多大空間) /dev/data/data(現有lv絕對路徑)
示例2:擴展剩餘全部容量使用:
lvextend -r -l +100%FREE /dev/mapper/VolGroup-lv_home
如果不加 -r 參數,需要手動使用 resize2fs /dev/mapper/VolGroup-lv_home才能生效。
lvreduce :在 LV 裏面減少容量,先卸載掛載,不能在線縮減,且卸載後檢查文件系統一致性,執行: e2fsck -f /dev/myvg/testlv 對lv強制執行文件系統檢測,
lvremove :刪除一個 LV
lvresize :對 LV 進行容量大小的調整
vgscan:搜尋系統上面是否有 VG 存在
vgdisplay:顯示目前系統上面的 VG 狀態
vgextend:在 VG 內增加額外的 PV
vgreduce:在 VG 內移除 PV
vgchange:設置 VG 是否啓動 (active)
vgremove:刪除一個 VG
pvscan: 搜尋目前系統裏面任何具有 PV 的磁盤
pvdisplay:顯示出目前系統上面的 PV 狀態
pvremove: 將 PV 屬性移除,讓該 partition 不具有 PV 屬性

注意: /boot 分區不能基於 LVM 創建,必須獨立出來。
系統啓動 LVM 時激活 VG ,並將 VGDA 加載至內存,來識別 LV 的實際物理存儲位置。當系統進行 I/O 操作時,就會根據 VGDA 建立的映射機制來訪問實際的物理位置。

<2>文件系統掛載:
mount只是臨時掛載,重啓失效。
永久掛載,vim /etc/fstab 增加一行記錄,如下格式:
/dev/vgname/lvname /viedo xfs defaults 0 0

磁盤壞道檢查:badblocks -v /dev/sda1

擴容文件系統:
xfs_growfs /dev/centos/root (擴容xfs格式)//xfs_growfs擴展了現有的XFS文件系統
如果給定了-D size選項,則數據段增大到該大小,否則數據部分將增長到最大-d選項可以達到最大大小。
xfs_growfs /mount/point //擴容文件到設備支持的最大通了

resize2fs /dev/vg01/lv01 (擴容ext格式) //擴展邏輯卷的邏輯邊界,增大或者收縮未加載的“ext2/ext3/ext4”文件系統的大小
常用參數:
-d 打開調試特性
-p 打印已完成的百分比進度條
-f 強制執行調整大小操作,覆蓋掉安全檢查操作
-F 開始執行調整大小前,刷新文件系統設備的緩衝區
使用說明:
resize2fs /PATH/VG/LV 6G 擴展邏輯邊界到6G,該值不能超過物理邊界
resize2fs -p /PATH/VG/LV :-p表示擴展邏輯邊界跟物理邊界一樣大

partprobe #重讀分區表

e2fsck -f /dev/video/vidstor //檢查ext2、ext3、ext4等文件系統的正確性
在這裏插入圖片描述
//常用參數:-f : 強制檢查,-a : 對 partition 做檢查,若有問題便自動修復,等同 -p 的功能,-y : 預先設定所有檢查時的問題均回答[是]。最好先將該 partition umount,然後再執行 e2fsck 來做檢查,若是要非要檢查 / 時,則請進入 singal user mode 再執行。

df -aT 只查看已經掛載的分區和文件系統類型
fdisk -l 可顯示出所有掛載和未掛載的分區,但不顯示文件系統類型
parted -l 可以查看未掛載的文件系統類型,以及哪些分區尚未格式化
partx /dev/sda #查看當前硬盤的分區表及使用情況
lsblk -f 也可以查看未掛載的文件系統類型
file -s /dev/vgname/lvname 查看指定設備文件系統
————————————————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章