版本管理
版本 | 修訂日期 | 變更類型 | 生效日期 |
1.0 | 2019/3/26 | ||
1.1 | 2019/3/29 | 1.更新了新增資料盤操作說明 2.文檔連結更新等 | 2019/3/29 |
1.2 | 2019/4/2 | 1.更新了雲端硬碟縮容參考 2.最佳化排版布局等 | 2019/4/2 |
1.3 | 2019/12/30 | 1.增加雲端硬碟線上擴容說明 | 2019/12/30 |
雲端硬碟擴容情境概述
本文檔描述了如何在阿里雲環境中,對SAP系統應用或資料庫雲端硬碟進行線上擴容。雲端硬碟擴容主要包括系統硬碟擴容和資料盤擴容,在對雲端硬碟擴容前請先閱讀>線上擴容。雲端硬碟擴容主要包括系統硬碟擴容和資料盤擴容,在對雲端硬碟擴容前請先閱讀
系統硬碟的擴容請參考:
雲端硬碟擴容後,需要使用指定的操作命令將檔案系統擴充為需要的容量。
特殊情境下需要進行雲端硬碟縮容,請參考:磁碟縮容。
這裡以SUSE 12 SP3 for SAP為例,使用LVM管理磁碟的分區和檔案系統(包括XFS和EXT),不同版本或者不同作業系統命令可能有差異,請參考對應作業系統的產品手冊。
本次擴容的情境假設SAP應用的 /hana/data, /usr/sap, /sapcd 這三個檔案系統需要擴容:
/hana/data,/hana/log,/hana/shared 用三塊SSD雲端硬碟通過LVM做了條帶化處理,以滿足HANA的效能要求,檔案系統為XFS。
/usr/sap 使用了一塊高效雲端硬碟,劃分到了單獨的vg中,檔案系統為XFS。
/sapcd 未使用LVM管理,裸盤直接掛載,檔案系統為EXT4。
樣本
屬性 | 檔案系統原大小 | 擴容後大小 | 檔案系統 | VG | LVM條帶化 | 掛載點 |
資料盤 | 30G | 50G | XFS | datavg | 是 | /hana/data |
資料盤 | 30G | 60G | XFS | sapvg | 否 | /usr/sap |
資料盤 | 20G | 40G | EXT4 | N/A | 否 | /sapcd |
雲端硬碟擴容前,建議對雲端硬碟做快照,以防止誤操作導致的資料丟失。
更多資訊,請參考 建立快照。
資料盤擴容
新增資料盤
新增資料盤,一般用於新掛載檔案系統、單塊雲端硬碟容量已經超過最大容量限制或多盤做LVM條帶化提升磁碟IO效能的情境。
樣本:新增20G雲端硬碟並掛載到檔案系統 /usr/sap/T01
1.控制台建立一塊20G雲端硬碟 ,並掛載到當前ECS,系統自動分配磁碟名 /dev/vdg
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 50G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vdc 253:32 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 50G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vdd 253:48 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 50G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vde 253:64 0 60G 0 disk
└─sapvg-lvusrsap 254:0 0 60G 0 lvm /usr/sap
vdf 253:80 0 40G 0 disk /sapcd
vdg 253:96 0 20G 0 disk
2.擴充到已有的vg並建立lv
將新加的雲端硬碟擴充到現有的vg中
# vgextend sapvg /dev/vdg
Volume group "sapvg" successfully extended
# pvs -a
PV VG Fmt Attr PSize PFree
/dev/datavg/lvhdata --- 0 0
/dev/datavg/lvhlog --- 0 0
/dev/datavg/lvhshared --- 0 0
/dev/root --- 0 0
/dev/sapvg/lvusrsap --- 0 0
/dev/vdb datavg lvm2 a-- 40.00g 13.33g
/dev/vdc datavg lvm2 a-- 40.00g 13.33g
/dev/vdd datavg lvm2 a-- 40.00g 13.33g
/dev/vde sapvg lvm2 a-- 60.00g 0
/dev/vdf --- 0 0
/dev/vdg sapvg lvm2 a-- 20.00g 20.00g
# lvcreate -l 100%FREE -n lvsapsid sapvg
Logical volume "lvsapsid" created.
# mkfs.xfs /dev/sapvg/lvsapsid
meta-data=/dev/sapvg/lvsapsid isize=256 agcount=4, agsize=1310464 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0, sparse=0
data = bsize=4096 blocks=5241856, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
3.掛載新的檔案系統到指定掛載點
如果建立的分區需要掛載到非空目錄,請先將該目錄下的子目錄和檔案臨時移動或備份到其他目錄下,待掛載成功後再將子目錄和檔案移動或拷貝回來。
mount /dev/mapper/sapvg-lvsapsid /usr/sap/T01
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.9G 8.0K 3.9G 1% /dev
tmpfs tmpfs 8.0G 0 8.0G 0% /dev/shm
tmpfs tmpfs 3.9G 660K 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda1 ext4 40G 3.6G 34G 10% /
/dev/vdf ext4 40G 48M 38G 1% /sapcd
/dev/mapper/datavg-lvhdata xfs 50G 33M 50G 1% /hana/data
/dev/mapper/datavg-lvhlog xfs 10G 33M 10G 1% /hana/log
/dev/mapper/datavg-lvhshared xfs 20G 33M 20G 1% /hana/shared
/dev/mapper/sapvg-lvusrsap xfs 60G 33M 60G 1% /usr/sap
tmpfs tmpfs 799M 0 799M 0% /run/user/0
/dev/mapper/sapvg-lvsapsid xfs 20G 33M 20G 1% /usr/sap/T01
4.將新加的檔案系統添加到fstab
echo "/dev/mapper/sapvg-lvsapsid /usr/sap/T01 xfs defaults 0 0" >>/etc/fstab
資料盤擴容
查看當前檔案系統
要查詢當前執行個體的檔案系統,請先登入ECS的作業系統。
當前樣本的作業系統為SUSE 12,資料盤的檔案系統為XFS和EXT4。
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.9G 8.0K 3.9G 1% /dev
tmpfs tmpfs 8.0G 0 8.0G 0% /dev/shm
tmpfs tmpfs 3.9G 624K 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda1 ext4 40G 3.6G 34G 10% /
tmpfs tmpfs 799M 0 799M 0% /run/user/0
/dev/mapper/sapvg-lvusrsap xfs 30G 33M 30G 1% /usr/sap
/dev/mapper/datavg-lvhdata xfs 30G 33M 30G 1% /hana/data
/dev/mapper/datavg-lvhlog xfs 10G 33M 10G 1% /hana/log
/dev/mapper/datavg-lvhshared xfs 20G 33M 20G 1% /hana/shared
/dev/vdf ext4 20G 44M 19G 1% /sapcd
擴充分區
使用lsblk命令查看執行個體上存放裝置的資訊。有關LVM分區的介紹,請參考LVM how to。
雲端硬碟擴容前狀態
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 20G 0 disk
├─datavg-lvhshared 254:0 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:1 0 30G 0 lvm /hana/data
└─datavg-lvhlog 254:2 0 10G 0 lvm /hana/log
vdc 253:32 0 20G 0 disk
├─datavg-lvhshared 254:0 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:1 0 30G 0 lvm /hana/data
└─datavg-lvhlog 254:2 0 10G 0 lvm /hana/log
vdd 253:48 0 20G 0 disk
├─datavg-lvhshared 254:0 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:1 0 30G 0 lvm /hana/data
└─datavg-lvhlog 254:2 0 10G 0 lvm /hana/log
vde 253:64 0 30G 0 disk
└─sapvg-lvusrsap 254:3 0 30G 0 lvm /usr/sap
vdf 253:80 0 20G 0 disk /sapcd
登入控制台,選擇需要擴容的雲端硬碟,完成擴容操作後重啟ECS
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 30G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vdc 253:32 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 30G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vdd 253:48 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 30G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vde 253:64 0 60G 0 disk
└─sapvg-lvusrsap 254:0 0 30G 0 lvm /usr/sap
vdf 253:80 0 40G 0 disk /sapcd
/dev/vdb,/dev/vdc,/dev/vdd 三塊雲端硬碟做了條帶化處理,對應的檔案系統是/hana/data /hana/log /hana/shared。雖然雲端硬碟的擴容已經生效(單盤40G,擴容後總容量120G),但lv的大小還是原始大小(30G),需要先擴充vg,再擴充lv。
雲端硬碟/dev/vde只有一個lv /usr/sap。雲端硬碟的擴容已經生效(60G),但lv的大小還是原始大小(30G),需要先擴充vg,再擴充lv。
雲端硬碟/dev/vdf 沒有做lvm,分區的大小反映了新的大小。(40G)
擴充vg和lv
使用LVM命令將檔案系統的大小調整為新的容量。
1.擴充pv
# pvresize /dev/vdb /dev/vdc /dev/vdd /dev/vde
Physical volume "/dev/vdb" changed
Physical volume "/dev/vdc" changed
Physical volume "/dev/vdd" changed
Physical volume "/dev/vde" changed
4 physical volume(s) resized / 0 physical volume(s) not resized
2.按需求調整lv大小,按本樣本規劃調整如下:
# lvresize -L +20G /dev/datavg/lvhdata
Using stripesize of last segment 64.00 KiB
Rounding size (12800 extents) up to stripe boundary size for segment (12801 extents)
Size of logical volume datavg/lvhdata changed from 30.00 GiB (7680 extents) to 50.00 GiB (12801 extents).
Logical volume lvhdata successfully resized
# lvresize -L +30G /dev/sapvg/lvusrsap
Size of logical volume sapvg/lvusrsap changed from 30.00 GiB (7679 extents) to 60.00 GiB (15359 extents).
Logical volume lvusrsap successfully resized
3.擴充lv
樣本:擴充XFS檔案系統
# xfs_growfs /usr/sap
meta-data=/dev/mapper/sapvg-lvusrsap isize=256 agcount=4, agsize=1965824 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=7863296, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3839, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7863296 to 15727616
# xfs_growfs /hana/data
meta-data=/dev/mapper/datavg-lvhdata isize=256 agcount=16, agsize=491504 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=7864064, imaxpct=25
= sunit=16 swidth=48 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3840, version=2
= sectsz=512 sunit=16 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7864064 to 13108224
樣本:擴充ext2,ext3或ext4檔案系統,使用resize2fs命令擴充每個卷上的檔案系統
# resize2fs /dev/vdf
resize2fs 1.42.11 (09-Jul-2014)
Filesystem at /dev/vdf is mounted on /sapcd; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/vdf is now 10485760 blocks long.
5.驗證結果
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 3.9G 8.0K 3.9G 1% /dev
tmpfs tmpfs 8.0G 0 8.0G 0% /dev/shm
tmpfs tmpfs 3.9G 648K 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda1 ext4 40G 3.6G 34G 10% /
/dev/vdf ext4 40G 48M 38G 1% /sapcd
tmpfs tmpfs 799M 0 799M 0% /run/user/0
/dev/mapper/datavg-lvhdata xfs 50G 33M 50G 1% /hana/data
/dev/mapper/datavg-lvhlog xfs 10G 33M 10G 1% /hana/log
/dev/mapper/datavg-lvhshared xfs 20G 33M 20G 1% /hana/shared
/dev/mapper/sapvg-lvusrsap xfs 60G 33M 60G 1% /usr/sap
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 50G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vdc 253:32 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 50G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vdd 253:48 0 40G 0 disk
├─datavg-lvhshared 254:1 0 20G 0 lvm /hana/shared
├─datavg-lvhdata 254:2 0 50G 0 lvm /hana/data
└─datavg-lvhlog 254:3 0 10G 0 lvm /hana/log
vde 253:64 0 60G 0 disk
└─sapvg-lvusrsap 254:0 0 60G 0 lvm /usr/sap
vdf 253:80 0 40G 0 disk /sapcd