IDCF テックブログ

IDCF テックブログ

クラウド・データセンターを提供するIDCフロンティアの公式テックブログ

サーバーを起動したままディスク追加する

オンラインシリーズ第二回でございます。 前回「サーバーを起動したままスペックアップする」ではIDCFクラウドのサーバーでCPUとメモリをサーバー起動した状態で追加する方法をご紹介しました。

ということで、次はボリューム(ディスク)です。

7月末にDATAディスクの容量拡張(リサイズ)の機能がリリースされたのですが気づかれましたでしょうか。このリサイズ機能は、IDCFクラウドのリリース時に実装するかどうか直前まで奮闘し、困難な実装を乗り越え、何とかAPIでのみ先行で提供した機能になります。現在はAPIだけでなく、ポータル上からも簡単に操作できるようになったので気軽に使っていただきたく、かつサーバーが起動した状態でも容量が増やせるのでその方法を見ていきましょう。

本題に入る前に用語説明ですが、 ROOTディスクは、仮想マシン作成と同時に作成され、OSが入っているディスク領域です。 DATAディスクは、仮想マシンにストレージデバイスとして追加して利用する、2本目3本目...のディスクです。 ボリュームは、これらのディスクの総称です。

ディスク容量を増やしたいときは、

  • DATAディスクの容量を拡張する
  • DATAディスクを追加する

という2つの方法があります。

DATAディスクをオンラインで容量拡張する

では一つ目の方法である容量拡張、つまりリサイズについて説明します。 既に利用中のDATAディスクの容量を拡張するのは簡単で、対象のDATAディスクを選択し、リサイズを実施ください。もちろんサーバーが起動した状態で実施可能です。

Resize

ここでOS上でディスクの容量を見ても増えていないと思います。OS上で追加分を認識させるため、以下のコマンドを実行します。
(DATAディスク /dev/sdb を30GBから60GBにリサイズした例)

 くろまる対象のディスクのデバイスIDを確認します(ここでは2:0:1:0)
 [root@localhost ~]# lsscsi
 [0:0:0:0] cd/dvd NECVMWar VMware IDE CDR00 1.00 /dev/sr0
 [2:0:0:0] disk VMware Virtual disk 1.0 /dev/sda
 [2:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
 くろまる対象のディスクをリスキャンします
 [root@localhost ~]# echo 1 > /sys/class/scsi_disk/2\:0\:1\:0/device/rescan
 [root@localhost ~]# 
 くろまるディスクの容量が増えているか確認します
 [root@localhost ~]# fdisk -l /dev/sdb
 ディスク /dev/sdb: 64.4 GB, 64424509440 バイト
 ヘッド 255, セクタ 63, シリンダ 7832
 〜以下略〜

OSを再起動せずに拡張した領域を認識させることができました。
iopingで、IOレイテンシーを確認しながら実施しましたが、ポータル上でのリサイズ、OS上でのリスキャンいずれも遅延等の影響なく問題なく追加できました。

この後は/dev/sdb1パーティションを作成していくと思いますが、 パーティション作成後に、パーティションテーブルの読み込みエラーが出ると思います。 こちらもOS再起動せずに認識させることができます。
(ここではfdiskで/dev/sdb2を作成した後の例)

 くろまるfdiskでパーティション作成後、以下のエラーが出る
 警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
 カーネルはまだ古いテーブルを使っています。新しいテーブルは
 次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
 使えるようになるでしょう
 くろまるパーティションテーブルを再読み込み
 [root@localhost ~]# partx -v -a /dev/sdb
 device /dev/sdb: start 0 size 125829120
 gpt: 0 slices
 dos: 4 slices
 # 1: 63- 62910539 ( 62910477 sectors, 32210 MB)
 # 2: 62910540-125821079 ( 62910540 sectors, 32210 MB)
 # 3: 0- -1 ( 0 sectors, 0 MB)
 # 4: 0- -1 ( 0 sectors, 0 MB)
 BLKPG: Device or resource busy
 error adding partition 1
 added partition 2
 くろまるパーティションがエラーなく表示されることを確認
 [root@localhost ~]# fdisk -l /dev/sdb
 〜以上略〜
 デバイス ブート 始点 終点 ブロック Id システム
 /dev/sdb1 1 3916 31455238+ 8e Linux LVM
 /dev/sdb2 3917 7832 31455270 8e Linux LVM

以上のように、リサイズからOS上での操作まで一貫して再起動なしでできました。

DATAディスクをオンラインで追加する

では二つ目の方法である、ディスク追加について説明します。
DATAディスクをリサイズして拡張していったとしても、プライマリパーティション数の上限やDATAディスクの容量上限(1TB)にぶち当たることもあるでしょう。そんなときは、DATAディスクを3本目4本目と追加していってください。このDATAディスクの追加も、もちろん再起動なしで利用可能です。

DATAディスクの作成とアタッチはFAQをご覧いただくとして、もちろんこの操作もサーバーが起動した状態で実施いただけます。

ここでOS上でデバイス一覧を見ても、ディスクデバイスは増えていないと思います。OS上で追加分を認識させるため、以下のコマンドを実行します。
(50GBのDATAディスク /dev/sdc を追加した例)

 くろまる対象のHBA番号を確認します(ここでは2)
 [root@localhost ~]# lsscsi
 [0:0:0:0] cd/dvd NECVMWar VMware IDE CDR00 1.00 /dev/sr0
 [2:0:0:0] disk VMware Virtual disk 1.0 /dev/sda
 [2:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
 くろまる対象のHBAをリスキャンします
 [root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
 [root@localhost ~]#
 くろまる新しいディスク(/dev/sdc)が増えているか確認します
 [root@localhost ~]# fdisk -l /dev/sdc
 ディスク /dev/sdc: 53.7 GB, 53687091200 バイト
 ヘッド 255, セクタ 63, シリンダ 6527
 〜以下略〜

OSを再起動せずに追加したDATAディスクを認識させることができました。先ほどと同じくiopingで、IOレイテンシーを確認しながら実施しましたが、ポータル上でのアタッチ、OS上でのリスキャンいずれも遅延等の影響なく問題なく追加できました。
こちらの方が簡単ですね。

容量スケールするディスク、どう使う?

ここまでは、ディスクやその容量を増やす方法とパーティション作成を紹介しました。 実際の問題として、サーバーを止めずに実使用量を増やすとなると、予めLVM(Logical Volume Manager)で構成しておく必要があります。はじめにDATAディスク上にLVMで構成しておくと、リサイズでもディスク追加でも無停止で容量を増やすことが可能です。この手順は長くなるので、一番最後のパートで紹介します。

次に、容量を増やしたいと思ったとき、リサイズとディスク追加どちらを選ぶか問題です。

基本的にはディスク追加の方がおすすめで、以下の理由があります。

  • ディスクを束ねて1TB以上の容量が構成可能
  • 将来、容量が不要になった時に追加分のディスクを削除可能

一方でリサイズでなければならない理由としては、

  • IDCFクラウドのスナップショット機能を利用している

場合は、1つのディスク毎でしかスナップショットが取れないためでリサイズが有効です。どうしても複数ディスクでスナップショットを取りたい場合は今々だとLVMスナップショットを使ってOS上で実施するしか手がないです。

まとめ

では、先にまとめで前回今回と、サーバーを起動したままCPU、メモリ、ディスクを増やすことができることを見てきました。取り上げませんでしたが、NICの追加も可能です。 リサイズでもディスク追加でも、実施後にOS上で追加分を認識させることが必要で、これをオンラインでできるので、サーバー再起動は一切ありませんでした。認識させるのもコマンド一発なので簡単に実施可能でした。 以降では、LVMを構成し、容量を追加していく、実際の流れを見ていきます。オンラインでのディスク追加に興味を持たれた方は、参考にしてください。

[実戦]LVMを使って容量を増やしていこう

では、以下の流れでディスクを拡張していきます。
1) DATAディスク上でLVMを構成する
2) DATAディスクをリサイズし、LVM領域を拡張する
3) DATAディスクを追加し、LVM領域を拡張する

1) DATAディスク上でLVMを構成する

LVM_1st_step
まずは、上図のとおり30GBのDATAディスクがあるサーバーで、LVM構成を構築します。

 くろまるパーティションを作成します
 [root@localhost ~]# fdisk /dev/sdb
 デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
 含んでいません
 新たに DOS ディスクラベルをディスク識別子 0x3b57b701 で作成します。
 あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
 その後はもちろん以前の内容は修復不可能になります。
 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
 正常になります
 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
 強く推奨します。 and change display units to
 sectors (command 'u').
 コマンド (m でヘルプ): n
 コマンドアクション
 e 拡張
 p 基本パーティション (1-4)
 p
 パーティション番号 (1-4): 1
 最初 シリンダ (1-3916, 初期値 1):
 初期値 1 を使います
 Last シリンダ, +シリンダ数 or +size{K,M,G} (1-3916, 初期値 3916):
 初期値 3916 を使います
 コマンド (m でヘルプ): t
 選択した領域 1
 16進数コード (L コマンドでコードリスト表示): 8e
 領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました
 コマンド (m でヘルプ): p
 ディスク /dev/sdb: 32.2 GB, 32212254720 バイト
 ヘッド 255, セクタ 63, シリンダ 3916
 Units = シリンダ数 of 16065 * 512 = 8225280 バイト
 セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 ディスク識別子: 0x3b57b701
 デバイス ブート 始点 終点 ブロック Id システム
 /dev/sdb1 1 3916 31455238+ 8e Linux LVM
 コマンド (m でヘルプ): w
 パーティションテーブルは変更されました!
 ioctl() を呼び出してパーティションテーブルを再読込みします。
 ディスクを同期しています。
 [root@localhost ~]# fdisk -l /dev/sdb
 ディスク /dev/sdb: 32.2 GB, 32212254720 バイト
 ヘッド 255, セクタ 63, シリンダ 3916
 Units = シリンダ数 of 16065 * 512 = 8225280 バイト
 セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 ディスク識別子: 0x3b57b701
 デバイス ブート 始点 終点 ブロック Id システム
 /dev/sdb1 1 3916 31455238+ 8e Linux LVM
 くろまる物理ボリュームを作成し、確認します
 [root@localhost ~]# pvcreate /dev/sdb1
 Physical volume "/dev/sdb1" successfully created
 [root@localhost ~]# pvdisplay
 "/dev/sdb1" is a new physical volume of "30.00 GiB"
 --- NEW Physical volume ---
 PV Name /dev/sdb1
 VG Name
 PV Size 30.00 GiB
 Allocatable NO
 PE Size 0
 Total PE 0
 Free PE 0
 Allocated PE 0
 PV UUID 37mk1N-kWrH-6XfL-ws8J-1CxG-q8yB-LM1pIw
 くろまるボリュームグループを作成し、確認します
 [root@localhost ~]# vgcreate VG01 /dev/sdb1
 Volume group "VG01" successfully created
 [root@localhost ~]# vgdisplay
 --- Volume group ---
 VG Name VG01
 System ID
 Format lvm2
 Metadata Areas 1
 Metadata Sequence No 1
 VG Access read/write
 VG Status resizable
 MAX LV 0
 Cur LV 0
 Open LV 0
 Max PV 0
 Cur PV 1
 Act PV 1
 VG Size 30.00 GiB
 PE Size 4.00 MiB
 Total PE 7679
 Alloc PE / Size 0 / 0
 Free PE / Size 7679 / 30.00 GiB
 VG UUID F9piza-DPvp-Gme1-aKc9-vuM0-HQZH-v2LVry
 くろまる論理ボリュームを作成し、確認します
 [root@localhost ~]# lvcreate -l 100%FREE -n LV01 VG01
 Logical volume "LV01" created
 [root@localhost ~]# lvdisplay
 --- Logical volume ---
 LV Path /dev/VG01/LV01
 LV Name LV01
 VG Name VG01
 LV UUID z5s6Md-7b2x-yhAP-YF36-zOip-y8aS-dnxhj7
 LV Write Access read/write
 LV Creation host, time localhost.cs18idcfcloud.internal, 2015年09月08日 13:46:12 +0900
 LV Status available
 # open 0
 LV Size 30.00 GiB
 Current LE 7679
 Segments 1
 Allocation inherit
 Read ahead sectors auto
 - currently set to 256
 Block device 253:0
 くろまるext4でフォーマットしマウントします
 [root@localhost ~]# mkfs.ext4 /dev/VG01/LV01
 mke2fs 1.41.12 (17-May-2010)
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 Stride=0 blocks, Stripe width=0 blocks
 1966080 inodes, 7863296 blocks
 393164 blocks (5.00%) reserved for the super user
 First data block=0
 Maximum filesystem blocks=4294967296
 240 block groups
 32768 blocks per group, 32768 fragments per group
 8192 inodes per group
 Superblock backups stored on blocks:
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
 4096000
 Writing inode tables: done
 Creating journal (32768 blocks): done
 Writing superblocks and filesystem accounting information: done
 This filesystem will be automatically checked every 20 mounts or
 180 days, whichever comes first. Use tune2fs -c or -i to override.
 [root@localhost ~]# mkdir /data
 [root@localhost ~]# mount /dev/VG01/LV01 /data
 [root@localhost ~]# df -h
 Filesystem Size Used Avail Use% Mounted on
 /dev/sda1 15G 976M 13G 7% /
 tmpfs 1.9G 0 1.9G 0% /dev/shm
 /dev/mapper/VG01-LV01
 30G 44M 28G 1% /data
 [root@localhost ~]#

2) データディスクをリサイズし、LVM領域を拡張する

LVM_2nd_step
次にリサイズによる容量拡張です。
ポータル上で30GBのDATAディスクを60GBにリサイズします。 その後、上図のとおりリサイズしたDATAディスクを使って、LVM領域を拡張します。

 くろまるリサイズしたディスク領域を認識させます
 [root@localhost ~]# lsscsi | grep /dev/sdb
 [2:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
 [root@localhost ~]# echo 1 > /sys/class/scsi_disk/2\:0\:1\:0/device/rescan
 [root@localhost ~]#
 くろまる拡張してできた空き領域にパーティションを作成し、認識させます
 [root@localhost ~]# fdisk /dev/sdb
 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
 強く推奨します。 and change display units to
 sectors (command 'u').
 コマンド (m でヘルプ): n
 コマンドアクション
 e 拡張
 p 基本パーティション (1-4)
 p
 パーティション番号 (1-4): 2
 最初 シリンダ (3917-7832, 初期値 3917):
 初期値 3917 を使います
 Last シリンダ, +シリンダ数 or +size{K,M,G} (3917-7832, 初期値 7832):
 初期値 7832 を使います
 コマンド (m でヘルプ): t
 パーティション番号 (1-4): 2
 16進数コード (L コマンドでコードリスト表示): 8e
 領域のシステムタイプを 83 から 8e (Linux LVM) に変更しました
 コマンド (m でヘルプ): p
 ディスク /dev/sdb: 64.4 GB, 64424509440 バイト
 ヘッド 255, セクタ 63, シリンダ 7832
 Units = シリンダ数 of 16065 * 512 = 8225280 バイト
 セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 ディスク識別子: 0x3b57b701
 デバイス ブート 始点 終点 ブロック Id システム
 /dev/sdb1 1 3916 31455238+ 8e Linux LVM
 /dev/sdb2 3917 7832 31455270 8e Linux LVM
 コマンド (m でヘルプ): w
 パーティションテーブルは変更されました!
 ioctl() を呼び出してパーティションテーブルを再読込みします。
 警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
 カーネルはまだ古いテーブルを使っています。新しいテーブルは
 次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
 使えるようになるでしょう
 ディスクを同期しています。
 [root@localhost ~]# partx -l /dev/sdb
 # 1: 63- 62910539 ( 62910477 sectors, 32210 MB)
 # 2: 62910540-125821079 ( 62910540 sectors, 32210 MB)
 # 3: 0- -1 ( 0 sectors, 0 MB)
 # 4: 0- -1 ( 0 sectors, 0 MB)
 [root@localhost ~]# partx -v -a /dev/sdb
 device /dev/sdb: start 0 size 125829120
 gpt: 0 slices
 dos: 4 slices
 # 1: 63- 62910539 ( 62910477 sectors, 32210 MB)
 # 2: 62910540-125821079 ( 62910540 sectors, 32210 MB)
 # 3: 0- -1 ( 0 sectors, 0 MB)
 # 4: 0- -1 ( 0 sectors, 0 MB)
 BLKPG: Device or resource busy
 error adding partition 1
 added partition 2
 くろまる追加したパーティションを物理ボリュームにします
 [root@localhost ~]# pvcreate /dev/sdb2
 Physical volume "/dev/sdb2" successfully created
 くろまる既存のボリュームグループに追加した物理ボリュームを追加します
 [root@localhost ~]# vgextend VG01 /dev/sdb2
 Volume group "VG01" successfully extended
 くろまる既存の論理ボリュームを拡張します
 [root@localhost ~]# lvextend -l +100%FREE /dev/VG01/LV01
 Size of logical volume VG01/LV01 changed from 30.00 GiB (7679 extents) to 59.99 GiB (15358 extents).
 Logical volume LV01 successfully resized
 [root@localhost ~]# lvdisplay
 --- Logical volume ---
 LV Path /dev/VG01/LV01
 LV Name LV01
 VG Name VG01
 LV UUID z5s6Md-7b2x-yhAP-YF36-zOip-y8aS-dnxhj7
 LV Write Access read/write
 LV Creation host, time localhost.cs18idcfcloud.internal, 2015年09月08日 13:46:12 +0900
 LV Status available
 # open 1
 LV Size 59.99 GiB
 Current LE 15358
 Segments 2
 Allocation inherit
 Read ahead sectors auto
 - currently set to 256
 Block device 253:0
 くろまるファイルシステムを拡張し、これで拡張分の容量が使えるようになりました
 [root@localhost ~]# resize2fs /dev/VG01/LV01
 resize2fs 1.41.12 (17-May-2010)
 Filesystem at /dev/VG01/LV01 is mounted on /data; on-line resizing required
 old desc_blocks = 2, new_desc_blocks = 4
 Performing an on-line resize of /dev/VG01/LV01 to 15726592 (4k) blocks.
 The filesystem on /dev/VG01/LV01 is now 15726592 blocks long.
 [root@localhost ~]# df -h
 Filesystem Size Used Avail Use% Mounted on
 /dev/sda1 15G 976M 13G 7% /
 tmpfs 1.9G 0 1.9G 0% /dev/shm
 /dev/mapper/VG01-LV01
 59G 52M 56G 1% /data
 [root@localhost ~]#

3) データディスクを追加し、LVM領域を拡張する

LVM_3rd_step

最後にディスク追加です。
ポータル上で50GBのDATAディスク作成しアタッチします。
その後、上図のとおり追加したDATAディスクを使って、LVM領域を拡張します。

 くろまる追加したディスクを認識させます
 [root@localhost ~]# lsscsi | grep /dev/sd
 [2:0:0:0] disk VMware Virtual disk 1.0 /dev/sda
 [2:0:1:0] disk VMware Virtual disk 1.0 /dev/sdb
 [root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
 [root@localhost ~]#
 くろまる追加したディスクにパーティションを作成します
 [root@localhost ~]# fdisk /dev/sdc
 デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
 含んでいません
 新たに DOS ディスクラベルをディスク識別子 0x191aee31 で作成します。
 あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
 その後はもちろん以前の内容は修復不可能になります。
 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
 正常になります
 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
 強く推奨します。 and change display units to
 sectors (command 'u').
 コマンド (m でヘルプ): n
 コマンドアクション
 e 拡張
 p 基本パーティション (1-4)
 p
 パーティション番号 (1-4): 1
 最初 シリンダ (1-6527, 初期値 1):
 初期値 1 を使います
 Last シリンダ, +シリンダ数 or +size{K,M,G} (1-6527, 初期値 6527):
 初期値 6527 を使います
 コマンド (m でヘルプ): t
 選択した領域 1
 16進数コード (L コマンドでコードリスト表示): 8e
 領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました
 コマンド (m でヘルプ): p
 ディスク /dev/sdc: 53.7 GB, 53687091200 バイト
 ヘッド 255, セクタ 63, シリンダ 6527
 Units = シリンダ数 of 16065 * 512 = 8225280 バイト
 セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 ディスク識別子: 0x191aee31
 デバイス ブート 始点 終点 ブロック Id システム
 /dev/sdc1 1 6527 52428096 8e Linux LVM
 コマンド (m でヘルプ): w
 パーティションテーブルは変更されました!
 ioctl() を呼び出してパーティションテーブルを再読込みします。
 ディスクを同期しています。
 [root@localhost ~]# fdisk -l /dev/sdc
 ディスク /dev/sdc: 53.7 GB, 53687091200 バイト
 ヘッド 255, セクタ 63, シリンダ 6527
 Units = シリンダ数 of 16065 * 512 = 8225280 バイト
 セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 ディスク識別子: 0x191aee31
 デバイス ブート 始点 終点 ブロック Id システム
 /dev/sdc1 1 6527 52428096 8e Linux LVM
 くろまる追加したパーティションを物理ボリュームにします
 [root@localhost ~]# pvcreate /dev/sdc1
 Physical volume "/dev/sdc1" successfully created
 くろまる既存のボリュームグループに追加した物理ボリュームを追加します
 [root@localhost ~]# vgextend VG01 /dev/sdc1
 Volume group "VG01" successfully extended
 くろまる既存の論理ボリュームを拡張します
 [root@localhost ~]# lvextend -l +100%FREE /dev/VG01/LV01
 Size of logical volume VG01/LV01 changed from 59.99 GiB (15358 extents) to 109.99 GiB (28157 extents).
 Logical volume LV01 successfully resized
 くろまるファイルシステムを拡張し、これで拡張分の容量が使えるようになりました
 [root@localhost ~]# resize2fs /dev/VG01/LV01
 resize2fs 1.41.12 (17-May-2010)
 Filesystem at /dev/VG01/LV01 is mounted on /data; on-line resizing required
 old desc_blocks = 4, new_desc_blocks = 7
 Performing an on-line resize of /dev/VG01/LV01 to 28832768 (4k) blocks.
 The filesystem on /dev/VG01/LV01 is now 28832768 blocks long.
 [root@localhost ~]# df -h
 Filesystem Size Used Avail Use% Mounted on
 /dev/sda1 15G 976M 13G 7% /
 tmpfs 1.9G 0 1.9G 0% /dev/shm
 /dev/mapper/VG01-LV01
 109G 60M 103G 1% /data
 [root@localhost ~]#

以上です、お疲れ様でした。
最後までご覧いただきありがとうございました。ソリューションアーキテクトの藤城(@tafujish)でした。

<関連記事>
Copyright © IDC Frontier Inc.
さんかく

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる

AltStyle によって変換されたページ (->オリジナル) /