1. 程式人生 > >ECS 利用快照創建磁盤實現無損擴容數據盤

ECS 利用快照創建磁盤實現無損擴容數據盤

更多 data 數據 創建 tar col fuse 屬性 failed

1.先登錄服務器暫停服務,nginx+php+mysql+搜索服務
2.修改mysql的參數

#vi /etc/my.cnf
【mysqld】
datadir=/alidata/mysqldata
server_id=2
binlog_format = "ROW"

3. 首先基於當前數據盤創建一個快照,備份數據,同時可以利用這個快照直接創建獨立雲磁盤節約數據來回拷貝的時間
4. 打開獨立雲磁盤的購買頁面(https://ecs-buy.aliyun.com/#/clouddisk),選擇和ECS相同可用區的地域,購買一個獨立雲磁盤,購買時直接選擇用快照創建磁盤,使用第一步中的快照。

技術分享圖片

5、打開ECS控制臺磁盤頁面,找到剛才購買的獨立雲磁盤,在更多選項中將獨立雲磁盤掛載到ECS上。

技術分享圖片

6、登錄到服務器上,使用 mount 命令將這塊獨立雲磁盤掛載到系統中,查看一下其中的文件是否和數據盤中的一致。

#mkdir /bak
#mount /dev/vdc1 /bak

7、把原來的磁盤進行擴容

8、確定獨立雲磁盤中的數據無誤後,先使用 fdisk 刪除原有的分區表,然後再使用 fdisk、mkfs.ext3 等重新對數據盤執行分區、格式化操作,使數據盤的可用空間變為擴容之後的大小。

#fdisk /dev/vdb        m    d    w
#fdisl -l              查看是否有刪除掉分區
#umount /dev/vdb1    
如果出現umount: 
/alidata: device is busy,運行fuser -m -v /dev/vdb1,結束進程 #df -h 查看是否盤卸載掉 #fdisk -l #fdisk /dev/vdb 重新掛載盤 #mkfs.ext3 /dev/vdb1 #mount /dev/vdb1 #echo /dev/vdb1 /alidata/ ext3 >> /etc/fstab

9、之後通過cp -R命令將獨立雲磁盤中的數據全部拷回數據盤,可以加上--preserve=all參數,復制時保留文件的屬性。

#cp -R /bak/* /alidata/ --preserve=all

10、查看是否復制完整

#df -h

11、啟動服務,恢復正常

啟動mysql如果出現Starting MySQL..The server quit without updating PID file ([FAILED]/server/mysql/data/xxxx.pid).
修改my.cnf中
添加datadir=/alidata/mysqldata

12、在ECS中umount獨立雲磁盤

#umount /dev/vdc1

13、在ECS的磁盤控制臺中卸載這塊獨立雲磁盤,卸載後再選擇釋放(先卸載,然後再釋放),操作完成。

技術分享圖片

ECS 利用快照創建磁盤實現無損擴容數據盤