如何遷移系統(tǒng)至LVM卷

朋友今天突然找我,說(shuō)是要把系統(tǒng)的根分區(qū)磁盤擴(kuò)大。接到這個(gè)問(wèn)題,我馬上開始查看下系統(tǒng)情況。是一臺(tái) CentOS 6.6 的系統(tǒng),有倆塊磁盤分別 vda1 是 15G 根,vda2 的 1G swap ,總大小是 21G 的一塊 vda !現(xiàn)在要求去增大 vda1 分區(qū)。

后面我給朋友三個(gè)方案:

第一個(gè)就是將 vda5 隨意作為 home、var 之類的掛載;
第二個(gè)就是做快捷方式 ln鏈接到vda1 ,5G 加上 15G 也勉強(qiáng)擴(kuò)大了;
最后一種也就是最麻煩的,加大 vda、做一個(gè)LVM,將數(shù)據(jù)遷移到LVM、將vda1加入到LVM,最后實(shí)現(xiàn)系統(tǒng)的擴(kuò)容。
朋友選擇了最后一種,我用了很多種辦法。網(wǎng)上說(shuō)推薦是dd再是tar最后嘗試cpio、backup、dump,然后我沒辦法用了最后一種發(fā)現(xiàn)效果遠(yuǎn)遠(yuǎn)高于dd。

本次教程也是從頭再試驗(yàn)一遍,并且記錄好便己便人。

一、預(yù)備知識(shí):

1、了解,什么是dd以及什么是dump?

dd命令用于復(fù)制文件并對(duì)原文件的內(nèi)容進(jìn)行轉(zhuǎn)換和格式化處理。

--對(duì)于dd命令,僅僅只是介紹。dd命令比 Windows 的下 ghost 更好,Linux下也是極棒的。

dump命令用于備份ext2或者ext3文件系統(tǒng)??蓪⒛夸浕蛘麄€(gè)文件系統(tǒng)備份至指定的設(shè)備,或備份成一個(gè)大文件。

--對(duì)于dump命令,備份用到。dump可以幫助我們將分區(qū)進(jìn)行打包成一個(gè)文件。

2、嘗試,備份的需要如何恢復(fù)?

restore 命令是 dump 命令的逆過(guò)程,用于還原 dump 命令生成的備份文件。

--這也是很重要的恢復(fù)命令??梢詫⑽覀兊?dump 文件進(jìn)行恢復(fù)。

/etc/fstab 文件描述系統(tǒng)中各種文件系統(tǒng)的信息,一般而言,應(yīng)用程序僅讀取這個(gè)文件,而不對(duì)它進(jìn)行寫操作。

--這個(gè)文件需要系統(tǒng)管理員進(jìn)行更新,確保系統(tǒng)讀取時(shí)正確執(zhí)行。

/boot/grub/grub.conf 文件是 grub 配置文件, grub 才能找到 kernel,系統(tǒng)才能正常啟動(dòng)。

--這個(gè)文件也是需要我們更改的,制定grub讀取新分區(qū)。


首先要求有一個(gè)可以正常啟動(dòng)的分區(qū),然后要有剩余空間?。ū仨氉⒁?code>/dev/sdb1 的容量大于 /dev/sda1,且/dev/sdb1應(yīng)為L(zhǎng)VM卷

我用虛擬機(jī)模擬了服務(wù)器的真實(shí)情況:/dev/sda1 是正常系統(tǒng)啟動(dòng)分區(qū)、/dev/sdb1 是新的磁盤分區(qū)。

步驟一、用dump備份整個(gè)根分區(qū),使用restore恢復(fù)。

步驟二、更改備份好的系統(tǒng)fstab文件以及更改boot下引導(dǎo)文件。

小竅門:Linux自帶的光盤一般都會(huì)急救的功能,善于利用!

二、環(huán)境模擬:

虛擬機(jī)設(shè)置及分區(qū)情況:

image

這里有兩種情況:一個(gè)是某分區(qū),一個(gè)是新磁盤。兩者類似,為了方便本文使用的是新磁盤的方式。

image
image

三、實(shí)戰(zhàn)部分:

image
image

注意:我使用的是一個(gè)sdb1作為lvm磁盤,sdb2作為boot磁盤(為了方便后面的引導(dǎo),因?yàn)間rub不支持lvm磁盤引導(dǎo)boot)

I、創(chuàng)建LVM卷

1、首先要確保系統(tǒng)是安裝lvm組件的,可以使用rpm -qa查詢信息

image

2、然后卸載 /dev/sdb1,然后在其上用 pvcreate 創(chuàng)建物理卷和 vgcreate 創(chuàng)建卷組 vgtest

pvcreate /dev/sdb1

vgcreate vgtest /dev/sdb1

image

lvcreate -L 25G -n lvtest vgtest

mkfs.ext4 /dev/mapper/vgtest-lvtest

image

II、備份MBR引導(dǎo)文件。

dd if=/dev/sda1 of=/mnt/grub/mbr.bin bs=512 count=1

image

III、備份 / 目錄和 /boot 目錄

1、備份 / 目錄。在 dump 命令前后輸入的 date 命令是為了查看備份使用的時(shí)長(zhǎng)。

date && dump -0f /mnt/lvm/rootfs-20160824.bak / && date

image

2、為了安全引導(dǎo)我們也備份一下 /boot 目錄:

date && dump -0f /mnt/grub/boot-20160824.bak /boot && date

image

IV、嘗試恢復(fù)

1、還原 dump 的備份文件(/boot分區(qū)默認(rèn)已包括在/分區(qū))

date && restore -rf rootfs-20160824.bak && date

image

注意:這里boot文件需要更改成實(shí)際要啟動(dòng)的磁盤。

2、還原 MBR 的備份文件

dd if=/mnt/grub/mbr.bin of=/dev/sdb2

image

注意:這里使用dd命令恢復(fù)了之前備份的MBR文件。

VI、啟動(dòng)文件

image

注意:這里為了體現(xiàn)是chroot的,將主機(jī)名改成了NEW。一定要chroot進(jìn)入目錄查看是否能啟動(dòng)!并且確定防火墻SELinux的設(shè)置,最最最重要的OPENSSH要打開的!

1、首先通過(guò) blkid 查看分區(qū)的 UUID:

image

2、然后同步修改 /etc/fstab 文件以及切換了跟分區(qū)之后將變成的 /etc/fstab中的根分區(qū)指向:

image

3、重啟生效

注意:這里我重啟了一下,同時(shí)可以看出我的fstab是ok的并且都生效了。

VII、至此:

到這里為止,我們已經(jīng)完成了數(shù)據(jù)的轉(zhuǎn)移:在我們嘗試chroot進(jìn)入系統(tǒng)時(shí)就可以查看數(shù)據(jù)信息是否完整是否有丟失。

而下面更為重要的就是如何去恢復(fù)GRUB引導(dǎo):讓新磁盤可以脫離源磁盤的引導(dǎo)。

chroot進(jìn)入新磁盤:

image

輸入:root (hd1,0)

輸入:setup (hd1)

再次輸入:quit

image

備注:如果通過(guò)上面的操作還是無(wú)法正常進(jìn)入系統(tǒng),可以嘗試進(jìn)入DVD急救模式嘗試其他。

image

tip:這里僅僅只是小建議,可以嘗試使用CentOS自帶的急救模式。也可以選擇CLI完成操作!

image

tip:同上。僅僅為了向大家說(shuō)明最后最后還需要更改啟動(dòng)項(xiàng)選項(xiàng)!

注意:Virtualbox使用F12選擇新磁盤就好、VMware需要按F2進(jìn)入BIOS并使用“+-”完成啟動(dòng)項(xiàng)的調(diào)試。

如果引導(dǎo)還有問(wèn)題推薦看這篇文章**** http://os.51cto.com/art/201003/185574.htm

VIII、總結(jié):

所以說(shuō)裝系統(tǒng)的時(shí)候就使用LVM就很好,不然又是一頓折騰。

何必呢?但是技多不壓身,會(huì)些更裝逼嘛~

VVI、其他:

當(dāng)時(shí)我寫這篇文章時(shí)候犯了幾個(gè)錯(cuò)誤,比較重要的記下來(lái)。

第一個(gè):是當(dāng)時(shí)沒有先百度,查看GRUB對(duì)LVM的問(wèn)題(雖然現(xiàn)在的我知道怎么GRUB啟動(dòng)LVM,但是當(dāng)時(shí)是不知道)

第二個(gè): 居然不知道boot要單獨(dú)分區(qū)

第三個(gè):改了這個(gè)文件,忘了那個(gè)文件

第四個(gè):為了圖方便使用了/dev/sdx這樣形式,應(yīng)該用UUID

第五個(gè):疲勞寫作,第二天我就突然寫完這篇文章了...

最最后,系統(tǒng)移動(dòng)至LVM磁盤一定是可以得。改日我用服務(wù)器現(xiàn)場(chǎng)移動(dòng),到時(shí)候再給新文章!

(完)
摘自:https://www.cnblogs.com/itxdm/p/linux_lvm.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,292評(píng)論 0 5
  • cenos6啟動(dòng)流程 加載BIOS的硬件信息,獲取第一個(gè)啟動(dòng)設(shè)備 讀取第一個(gè)啟動(dòng)設(shè)備MBR的引導(dǎo)加載程序(grub...
    毛利卷卷發(fā)閱讀 1,199評(píng)論 0 1
  • tags: Linux OS GRUB 硬盤分區(qū) 背景 2016年雙十一入手了一塊500G的 SSD(Solid ...
    CntChen閱讀 11,375評(píng)論 2 20
  • CentOS 6啟動(dòng)流程CentOS 5,6的init啟動(dòng)過(guò)程詳解grub啟動(dòng)過(guò)程詳解啟動(dòng)過(guò)程錯(cuò)誤修復(fù) 一、Cen...
    哈嘍別樣閱讀 2,245評(píng)論 0 2
  • 每人都有一個(gè)夢(mèng)想, 警察, 醫(yī)生, 作家…… 可是,你光說(shuō)著不去做, 無(wú)論多棒的夢(mèng)想, 都絕對(duì)實(shí)現(xiàn)不了; 只有那些...
    心之物語(yǔ)閱讀 297評(píng)論 0 1

友情鏈接更多精彩內(nèi)容