これまで、OCIコンピュートではカスタム・イメージのエクスポートやインポートのサイズ上限は400GBとなっていましたが、この上限が緩和され1TBまでインポートやエクスポート可能となりました!
- カスタムイメージの制限 https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/managingcustomimages.htm#one
- BYOIの制限 https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/bringyourownimage.htm#options__limitations
ということで、実際に400GBを超えるサイズでもエラーなくエクスポートやインポートできるか試してみます。
OCI上のOracle Linuxのインスタンスを使ってカスタム・イメージを作成し、オブジェクト・ストレージへのエクスポートとインポートを試してみます。
準備
-
Oracle Linux 9 のプラットフォームイメージで、VM.Standard.E5.Flexのシェイプを利用。インスタンス作成時にブートボリュームのサイズを800GBと指定した。
-
インスタンス作成直後の初期状態のdfとlsblkの結果を確認。
[opc@tk-linux-800gb ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 5.7G 0 5.7G 0% /dev/shm
tmpfs 2.3G 8.9M 2.3G 1% /run
efivarfs 256K 7.1K 244K 3% /sys/firmware/efi/efivars
/dev/mapper/ocivolume-root 30G 8.7G 21G 30% /
/dev/sda2 2.0G 416M 1.6G 21% /boot
/dev/mapper/ocivolume-oled 15G 140M 15G 1% /var/oled
/dev/sda1 100M 7.7M 93M 8% /boot/efi
tmpfs 1.2G 0 1.2G 0% /run/user/988
tmpfs 1.2G 0 1.2G 0% /run/user/1000
[opc@tk-linux-800gb ~]$
[opc@tk-linux-800gb ~]$
[opc@tk-linux-800gb ~]$
[opc@tk-linux-800gb ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 800G 0 disk
├─sda1 8:1 0 100M 0 part /boot/efi
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 44.5G 0 part
├─ocivolume-root 252:0 0 29.5G 0 lvm /
└─ocivolume-oled 252:1 0 15G 0 lvm /var/oled
[opc@tk-linux-800gb ~]$
- 800GBのブートボリュームが認識されているが、 / にマウントされているocivolume-rootのサイズはデフォルトのままなので、oci-growfsコマンドで拡張しておく。
[opc@tk-linux-800gb ~]$ sudo /usr/libexec/oci-growfs -y
Volume Group: ocivolume
Volume Path: /dev/ocivolume/root
Mountpoint Data
---------------
mountpoint: /
source: /dev/mapper/ocivolume-root
filesystem type: xfs
source size: 29.4G
type: lvm
size: 29.5G
physical devices: ['/dev/sda3']
physical volumes: ['/dev/sda', '/dev/sda']
partition number: ['3']
volume group name: ocivolume
volume group path: /dev/ocivolume/root
Partition dry run expansion "/dev/sda3" succeeded.
CHANGE: partition=3 start=4401152 old: size=93325312 end=97726463 new: size=1673320415 end=1677721566
Expanding partition /dev/sda3: Confirm? Partition expand expansion "/dev/sda3" succeeded.
update-partition set to true
FLOCK: try exec open fd 9, on failure exec exits this program
FLOCK: /dev/sda: obtained exclusive lock
resizing 3 on /dev/sda using resize_sfdisk_gpt
1677721600 sectors of 512. total size=858993459200 bytes
## sfdisk --unit=S --dump /dev/sda
label: gpt
label-id: B09F8120-4C25-4FDD-BAF9-F48ED5FDC6E0
device: /dev/sda
unit: sectors
first-lba: 34
last-lba: 97727250
sector-size: 512
/dev/sda1 : start= 2048, size= 204800, type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B, uuid=31299AB3-A07A-4F4E-A32F-98864683D426, name="EFI System Partition"
/dev/sda2 : start= 206848, size= 4194304, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=5D1C94EE-CB85-409C-BA68-F900136B30D7
/dev/sda3 : start= 4401152, size= 93325312, type=E6D6D379-F507-44C2-A23C-238F2A3DF928, uuid=FC568597-2B73-498F-A3D8-F2DAC325EEEF
padding 33 sectors for gpt secondary header
max_end=1677721566 tot=1677721600 pt_end=97726463 pt_start=4401152 pt_size=93325312
resize of /dev/sda returned 0.
FLOCK: /dev/sda: releasing exclusive lock
CHANGED: partition=3 start=4401152 old: size=93325312 end=97726463 new: size=1673320415 end=1677721566
Extending /dev/sda3 succeeded.
Device /dev/sda3 extended successfully.
Logical volume /dev/ocivolume/root extended successfully.
[opc@tk-linux-800gb ~]$
[opc@tk-linux-800gb ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 5.7G 0 5.7G 0% /dev/shm
tmpfs 2.3G 8.9M 2.3G 1% /run
efivarfs 256K 7.1K 244K 3% /sys/firmware/efi/efivars
/dev/mapper/ocivolume-root 783G 14G 769G 2% /
/dev/sda2 2.0G 454M 1.5G 23% /boot
/dev/mapper/ocivolume-oled 15G 140M 15G 1% /var/oled
/dev/sda1 100M 7.7M 93M 8% /boot/efi
tmpfs 1.2G 0 1.2G 0% /run/user/988
tmpfs 1.2G 0 1.2G 0% /run/user/1000
[opc@tk-linux-800gb ~]$
[opc@tk-linux-800gb ~]$
- ルートのファイルシステムのサイズが拡張されたのでddでデータを書き込む。100GB x 7ファイルをランダムで書き込んだ。
[opc@tk-linux-800gb ~]$ dd if=/dev/urandom of=/home/opc/100gb_file_01 bs=1G count=100 status=progress
107374182400 bytes (107 GB, 100 GiB) copied, 430 s, 249 MB/s
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 430.409 s, 249 MB/s
[opc@tk-linux-800gb ~]$
<<中略>>
[opc@tk-linux-800gb ~]$ ls -l
total 734003228
-rw-r--r--. 1 opc opc 107374182400 Oct 1 04:34 100gb_file_01
-rw-r--r--. 1 opc opc 107374182400 Oct 1 04:24 100gb_file_02
-rw-r--r--. 1 opc opc 107374182400 Oct 1 04:16 100gb_file_03
-rw-r--r--. 1 opc opc 107374182400 Oct 1 04:09 100gb_file_04
-rw-r--r--. 1 opc opc 107374182400 Oct 1 03:34 100gb_file_05
-rw-r--r--. 1 opc opc 107374182400 Oct 1 04:42 100gb_file_06
-rw-r--r--. 1 opc opc 107374182400 Oct 1 04:52 100gb_file_07
[opc@tk-linux-800gb ~]$
[opc@tk-linux-800gb ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 5.7G 0 5.7G 0% /dev/shm
tmpfs 2.3G 8.9M 2.3G 1% /run
efivarfs 256K 7.1K 244K 3% /sys/firmware/efi/efivars
/dev/mapper/ocivolume-root 783G 717G 67G 92% /
/dev/sda2 2.0G 454M 1.5G 23% /boot
/dev/mapper/ocivolume-oled 15G 188M 15G 2% /var/oled
/dev/sda1 100M 7.7M 93M 8% /boot/efi
tmpfs 1.2G 0 1.2G 0% /run/user/988
tmpfs 1.2G 0 1.2G 0% /run/user/1000
[opc@tk-linux-800gb ~]$
[opc@tk-linux-800gb ~]$
ブート・ボリュームに700GB以上のデータを書き込んだ状態になりました。
カスタム・イメージの作成
- インスタンスの「アクション」から「カスタム・イメージの作成」を選択
- 名前を付けて「カスタム・イメージの作成」ボタンをクリック。
- しばらく時間がかかるので待ちます。進行状況は「作業リクエスト」から確認できます。
- カスタムイメージが作成されました。イメージの請求可能サイズ(実際のカスタム・イメージとしてのデータサイズ)は769GBとなっています。
カスタム・イメージのエクスポート
- カスタム・イメージの「アクション」から「エクスポート」をクリック
- オブジェクト・ストレージのバケットを選択して「イメージのエクスポート」をクリック
- エクスポートの進捗状況は作業リクエストから確認できます。
- エクスポート完了。700GB以上をエクスポートするのに、約6時間半かかりました。
- オブジェクトストレージのバケットからサイズを確認すると、706.3GiBのオブジェクトとしてイクスポートされていました。
カスタム・イメージのインポート
続いて、400GB以上のイメージをインポートできるか試してみます。
-
カスタムイメージのページでイメージのインポートをクリック。インポート画面ではQCOW2を選択してみます。エクスポートの際はOCI形式を選択しましたが、OCI形式の場合はエクスポートしたファイルの中にOCI固有のメタデータ情報を含めた.ociファイルとQCOW2のイメージファイルが含まれています。今回はこの中からOCI固有の情報を除いてQCOW2形式としてインポートができるかも試してみます。

700GBを超えるサイズでも問題なくカスタム・イメージのエクスポートとインポートができることが確認できました。



