全部產品
Search
文件中心

SAP:SAP系統雲端硬碟擴容指南

更新時間:Jun 30, 2024

版本管理

版本

修訂日期

變更類型

生效日期

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