對於機械硬盤而言,經常會出現壞道,影響整體的磁盤讀寫速度,此時我們需要更換故障的硬盤,接下來模擬操作整個更換過程。

1. 測試環境

操作系統:CentOS7.6

硬盤:準備3塊5GB的硬盤用於測試

2. 前提條件

使用sdb、sdc加入LVM並配置lv,創建過程如下:

pvcreate /dev/sd{b..c}       #創建PV
vgcreate vg00 /dev/sdb /dev/sdc    #創建VG
lvcreate -n lv00 -L 8G vg00  #創建一個8GB的LV

LVM更換硬盤_數據完整性

格式化LV並掛載

mkfs.ext4 /dev/vg00/lv00    #格式化為ext4格式
mkdir /lv00_datadir         #創建掛載目錄
mount /dev/vg00/lv00 /lv00_datadir    #掛載

LVM更換硬盤_移出_02

上傳測試文件,我在這裏上傳一個鏡像文件,約為4.3GB左右;

使用md5sum命令來驗證硬盤更換後數據的完整性:

md5sum /lv00_datadir/CentOS-7-x86_64-DVD-1810.iso

LVM更換硬盤_數據完整性_03

3. 更換磁盤

假設sdb目前存在一些問題,需要使用sdd來替換:

3.1 配置sdd

將sdd分區後加入到VG中:

pvcreate /dev/sdd
vgextend vg00 /dev/sdd

3.2 遷移數據

通過pvdisplay命令來查看磁盤sdb上是否存有數據:

pvdisplay /dev/sdb

LVM更換硬盤_移出_04

可以看到,此時的sdb基本被用滿了,相應地sdd還沒有開始使用:

LVM更換硬盤_數據完整性_05

遷移數據,將sdb中的數據遷移到sdd中:

pvmove /dev/sdb /dev/sdd

LVM更換硬盤_移出_06

再次查看磁盤sdb上是否存有數據:

pvdisplay /dev/sdb

LVM更換硬盤_移出_07

或者使用pvscan查看:

LVM更換硬盤_移出_08

3.3 移出sdb

vgreduce vg00 /dev/sdb  #將sdb從VG中移出
pvremove /dev/sdb    #刪除PV

LVM更換硬盤_移出_09

3.4 檢查數據完整性

還是使用md5sum命令來檢查數據完整性:

md5sum /lv00_datadir/CentOS-7-x86_64-DVD-1810.iso

LVM更換硬盤_數據_10

更換前與更換後計算出來的值都是一樣,説明數據完整,測試成功。