Linux への移行に関する考慮事項 IBM Cloud VPC
「 Linux 」から「 IBM Cloud VPC 」への移行に関する注意事項( VirtIO ドライバーの検証、cloud-initの設定、ネットワーク設定など)を確認してください。
移行を開始する前に、以下の情報を確認してください。
VirtIO ドライバの確認
Linux 移行は一般的にWindowsよりも簡単であるが、このガイドでは、留意すべきいくつかの重要な考慮事項について説明している。
以下の Linux ディストリビューションは、 VirtIO ドライバをカーネルに含んでいる:
- Ubuntu: 16.04 以降
- RHEL/CentOS: 6.x その後
- Debian: 8 以降
- SUSE:12歳以降
次のコマンドを実行して、 VirtIO のドライバがインストールされていることを確認してください。
lsmod | grep virtio
次のようなドライバーが表示されます:
virtio_blk- ブロック・デバイス・ドライバvirtio_net- ネットワークドライバvirtio_scsi- SCSIドライバvirtio_pci- PCIバスドライバ
これらのドライバが欠落している場合は、 VirtIO をサポートするカーネルを再構築するか、より新しいディストリビューションをインストールする必要がある。
Sysprepと同等のものは不要
Linux はドライバをハードウェアにバインドしない。 カーネルはブート時に新しいハードウェアを検出し、適切なドライバをロードする。 このプロセスは、通常、準備の必要がなく、移行を簡単にする。
ネットワーク設定の調整
Linux はWindowsのようにドライバをハードウェアにバインドしない。 カーネルはブート時に新しいハードウェアを検出し、適切なドライバをロードするため、通常必要な特別な準備が不要で移行が大幅に容易になる。
よくある問題移行中にネットワークインターフェース名が変更される。
VMware では、インターフェイスの名前はこうなっているかもしれない:
ens192(systemdの予測可能な命名)eth0(伝統的な命名)
VPC では、次のように変更される場合があります:
ens3またはens33( VirtIO 環境では一般的)eth0(従来の命名規則を使用する場合)
静的IPコンフィギュレーションを解決するには、以下の情報を使用する:
-
NetworkManager-based ( Red Hat Enterprise Linux (RHEL)7以降、または Ubuntu の各バージョン)
# Identify new interface name ip link show # Edit connection nmcli con edit "System eth0" # Change interface-name to new name # Save and quit # Restart NetworkManager systemctl restart NetworkManager -
ネットプラン・ベース ( Ubuntu 18.04 +)
# /etc/netplan/01-netcfg.yaml network: version: 2 ethernets: ens3: # Updated from ens192 addresses: [10.240.0.10/24] gateway4: 10.240.0.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] -
伝統的な /etc/network/interfaces ( Debian, 古い Ubuntu )
auto ens3 iface ens3 inet static address 10.240.0.10 netmask 255.255.255.0 gateway 10.240.0.1
DHCP設定の修正:
DHCPを使用する場合、コンフィグレーションは自動的に行われますが、コンフィグレーションファイルのインターフェイス名を更新する必要があるかもしれません。
クラウドイットに関する考察
Cloud-initはクラウドインスタンスを初期化するために使用され、通常イメージテンプレートと共に使用される。 このツールは初回起動時に実行され、以下の処理を行います:
- ホスト名を設定する
- ネットワーキングの構成
- ユーザーとSSH鍵の作成
- カスタムスクリプトの実行
移行時の状況:移行先の仮想サーバーに cloud-init がインストールされている場合、VPC はその初回起動を「初回起動」として認識し、以下のアクションが実行されます:
- ホスト名の変更
- ネットワークの再構成
- ユーザー アカウント変更
- クラウドイニットスクリプトの実行
デザインの決定
オプション1:クラウドイニットを無効にする
# Before migration
sudo touch /etc/cloud/cloud-init.disabled
# Or after migration via VNC console
オプション2:ファーストブート動作を受け入れる
- VPCにDHCPでネットワークを自動設定させたい場合に便利です
- 起動後に手動での設定変更が必要になる場合があります(ホスト名、ユーザーなど)
オプション3:cloud-initを設定する
- クラウドイニット設定を作成し、設定を保持する
- より複雑だが、コントロールできる
個別の VM マイグレーション(テンプレートのデプロイではありません)では、cloud-init を無効にして既存の構成を保持します。 テンプレートベースのデプロイメントでは、cloud-initを使用して自動設定を行う。
パーティションとファイルシステム
パーティションテーブルの検証:ディスクを転送した後、次のコマンドを使用してパーティションテーブルが無傷であることを確認します:
# On worker virtual server instance (VSI) after transfer
fdisk -l /dev/vdb
# For GPT
gdisk -l /dev/vdb
ブートボリュームのサイズ変更: ブートボリュームのサイズを上方に変更した場合(例: VMware の 80 GB から VPC の 100 GB)、
- パーティションテーブルを更新する必要があるかもしれません:
ブートボリュームのサイズを上方( VMware の 80 GB から VPC の 100 GB)へ変更した場合:
# For MBR
fdisk /dev/vda
# Delete and recreate partition with same start sector, new end sector
# For GPT (automatic backup GPT update)
gdisk /dev/vda
- ファイルシステムのサイズを変更する:
# For ext4
resize2fs /dev/vda1
# For xfs
xfs_growfs /
# For LVM
pvresize /dev/vda2
lvextend -l +100%FREE /dev/mapper/vg-root
resize2fs /dev/mapper/vg-root
fstrimとシン・プロビジョニング
VMware では、 fstrim を使用して、シンプロビジョニングされた VMDK 内の未使用領域を回収することができます。 VPCでは、すべてのボリュームがストレージ・レイヤーでシン・プロビジョニングされますが、fstrimはVPCのスペース再生成には影響しません。 fstrimはストレージを解放しないことを覚えておいてほしい。
既存のfstrim cronジョブはそのままでもよいし、不要なI/Oを避けるために削除してもよい。