Centos8中遷移邏輯卷
遷移邏輯卷是透過將分割槽從一個PV(物理卷)移動至另一個PV。遷移邏輯卷是替換磁碟最安全的方法之一。 |
將要執行遷移的方法是使用
pvmove
操作。
假設在我們的設定中,只有一個磁碟
/dev/sda1
,大小為20gb。此時
/dev/sda1
處於故障警告狀態,需要更換新的同等容量的硬碟。讓我們使用
pvmove
選項將分割槽移動到一個新的PV中。
使用
pvmove
是透過將底層舊物理卷替換為新的物理卷。此外,使用檔案系統的使用者將不會注意到在底層發生的更改。
1. 更換故障磁碟。
2. 將現有的磁碟替換為較大的磁碟。
# 建立PV [root@localhost ~]# pvcreate /dev/sda1 Physical volume "/dev/sda1" successfully created. # 建立VG [root@localhost ~]# vgcreate vg_data /dev/sda1 Volume group "vg_data" successfully created # 建立LV,使用所有空間。 [root@localhost ~]# lvcreate -l 100%FREE -n lv_data vg_data Logical volume "lv_data" created.
建立完成之後格式化並掛載檔案系統。
[root@localhost ~]# mkfs.xfs /dev/vg [root@localhost ~]# mkfs.xfs /dev/vg_data/lv_data [root@localhost ~]# mkdir /data [root@localhost ~]# mount /dev/vg_data/lv_data /data
下面列出邏輯卷使用率:
[root@localhost ~]# df -h /data Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_data-lv_data 20G 2.2G 18G 11% /data
下面列出所有的物理卷、卷組、邏輯卷:
[root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/nvme0n1p2 cl lvm2 a-- <19.00g <2.00g /dev/sda1 vg_data lvm2 a-- <20.00g 0 [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree cl 1 2 0 wz--n- <19.00g <2.00g vg_data 1 1 0 wz--n- <20.00g 0 [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root cl -wi-ao---- 15.00g swap cl -wi-ao---- 2.00g lv_data vg_data -wi-a----- <20.00g
下面檢驗一下邏輯卷使用到的磁碟是哪塊,使用lvs
並使用
-o +devices
選項,可以顯示邏輯卷使用到的是哪塊磁碟:
[root@localhost ~]# lvs -o +devices /dev/vg_data/lv_data LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices lv_data vg_data -wi-ao---- <20.00g /dev/sda1(0)
使用dmsetup命令獲取邏輯卷的主編號和次編號。
[root@localhost ~]# dmsetup deps /dev/vg_data/lv_data 1 dependencies : (8, 1)
記住主編號和次編號。一旦我們將故障PV替換為另一個PV,它將改變。
可以透過執行
pvmove
命令來執行邏輯卷的遷移。下面首先開始建立一個新的物理卷:
[root@localhost ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created.
然後將新建立的物理卷新增到已存在的卷組中,下面圖中可看到vg_data卷組容量增加了:
[root@localhost ~]# vgextend vg_data /dev/sdb1 Volume group "vg_data" successfully extended
使用pvs命令新增
-o +pv_used
選項可以顯示物理卷的使用情況:
[root@localhost ~]# pvs -o +pv_used PV VG Fmt Attr PSize PFree Used /dev/nvme0n1p2 cl lvm2 a-- <19.00g <2.00g 17.00g /dev/sda1 vg_data lvm2 a-- <20.00g 0 <20.00g /dev/sdb1 vg_data lvm2 a-- <20.00g <20.00g 0
下面就可以使用
pvmove
命令遷移邏輯卷啦,下面是用法:
# pvmove -n
下面是常用選項解釋:
- -n 指定邏輯卷的名稱。
- -b 可以新增-b選項,意思是在後臺執行,如果容量大,檔案多可以配合screen在後臺執行。
- -i 5 表示每5秒列印一次狀態。
下面將邏輯卷lv_data從/dev/sda1遷移到/dev/sdb1中:
[root@localhost ~]# pvmove -n /dev/vg_data/lv_data /dev/sda1 /dev/sdb1 /dev/sda1: Moved: 1.29% /dev/sda1: Moved: 39.99% /dev/sda1: Moved: 73.90% /dev/sda1: Moved: 100.00%
遷移完成後,執行命令
lvs -o +devices
。在這裡,我們看到舊磁碟
/dev/sda1
已經被
/dev/sdb1
替換了。
[root@localhost ~]# lvs -a -o +devices /dev/vg_data/lv_data LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices lv_data vg_data -wi-ao---- <20.00g /dev/sdb1(0)
執行
pvs -o +pv_used
命令檢視可看到,/dev/sda1使用空間為0。/dev/sdb1的使用空間用滿了。
[root@localhost ~]# pvs -o +pv_used PV VG Fmt Attr PSize PFree Used /dev/nvme0n1p2 cl lvm2 a-- <19.00g <2.00g 17.00g /dev/sda1 vg_data lvm2 a-- <20.00g <20.00g 0 /dev/sdb1 vg_data lvm2 a-- <20.00g 0 <20.00g
與此同時我們檢查一下/data目錄中的內容仍然保留,邏輯卷仍然掛載著。這就說明遷移邏輯卷的時候不影響使用者使用該邏輯卷。
[root@localhost ~]# df -h /data Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_data-lv_data 20G 2.2G 18G 11% /data [root@localhost ~]# ll /data/ total 2097152 -rw-r--r-- 1 root root 2147483648 Apr 26 15:17 disk.img
下面我們可以使用
vgreduce
命令將故障的物理卷移除。
[root@localhost ~]# vgreduce vg_data /dev/sda1 Removed "/dev/sda1" from volume group "vg_data"
移除故障的物理卷:
[root@localhost ~]# pvremove /dev/sda1 Labels on physical volume "/dev/sda1" successfully wiped.
下面使用
dmsetup
命令檢視邏輯卷的主編號和次編號是否變了:
[root@localhost ~]# dmsetup deps /dev/vg_data/lv_data 1 dependencies : (8, 17)
就這樣,我們已經完成遷移邏輯捲了。
本文使用了pvmove命令從邏輯卷遷移資料而無需停機。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2913717/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Centos8中建立LVM精簡邏輯卷CentOSLVM
- 實操CentOS8系統中建立LVM邏輯卷CentOSLVM
- 資料庫邏輯遷移方案資料庫
- Lvm邏輯卷管理、建立、使用、擴充套件、縮減、遷移、快照、恢復LVM套件
- 如何新建邏輯卷及磁碟掛載,邏輯卷擴容
- LVM 邏輯卷管理LVM
- linux系統掛載邏輯卷和擴充套件邏輯卷組Linux套件
- linux之LVM邏輯卷LinuxLVM
- LVM_邏輯卷管理LVM
- 在Linux中,如何使用LVM管理邏輯卷?LinuxLVM
- Linux下LVM邏輯卷管理LinuxLVM
- 如何在 Ubuntu 中管理和使用邏輯卷管理 LVMUbuntuLVM
- 在LVM中恢復已刪除的邏輯卷LVM
- lvm收縮邏輯卷空間LVM
- Linux—磁碟配額,管理LVM邏輯卷LinuxLVM
- Oracle 9i升級19C 邏輯遷移詳細方法(一)Oracle
- Oracle 9i升級19C 邏輯遷移詳細方法(二)Oracle
- 【效能】Oracle表並行對邏輯遷移後查詢效能的影響Oracle並行
- Linux下的磁碟分割槽和邏輯卷Linux
- Linux LVM Logical Volume Management 邏輯卷的管理LinuxLVM
- 如何在 Linux 分割槽或邏輯卷中建立檔案系統Linux
- linux 磁碟分割槽掛載-LVM-物理卷PV,卷組VG,邏輯卷LVLinuxLVM
- Linux硬碟掛載與磁碟分割槽基礎(二)(物理卷、卷組、邏輯卷)Linux硬碟
- linux系統下分割槽邏輯卷擴容Linux
- Linux-使用者管理與建立邏輯卷Linux
- 邏輯、集合運算上的卷積一覽(FMT、FWT,……)卷積
- 一文全解:LVM(邏輯卷管理器)LVM
- ENGINEER01 - 分割槽規劃和使用,LVM邏輯卷LVM
- lvm 擴充邏輯卷空間(linux的磁碟擴容)LVMLinux
- LVM邏輯卷線上動態擴容磁碟空間LVM
- 離線版centos8環境部署遷移監控操作筆記CentOS筆記
- linux 磁碟自動化分割槽掛載-LVM-物理卷PV,卷組VG,邏輯卷LV-shellLinuxLVM
- JS 中的邏輯運算子JS
- Python中的邏輯表示式Python
- Linux作業系統邏輯盤卷管理LVM建立步驟(轉)Linux作業系統LVM
- 什麼是LVM邏輯卷管理?0基礎學Linux運維LVMLinux運維
- unbound中快取時間邏輯快取
- 邏輯題