概要¶
- Ubuntu 20.04でOSインストールを自動化する.
- Ubuntuでは20.04からAutoinstallを自動インストールのために使う.
- 自動化の対象は,OSのインストール(ユーザ設定,パスワード,言語,キーボード配置,タイムゾーン)とする.
方針¶
- UbuntuのAutoinstallを使ってOSインストールを自動化する.
- ISOを解凍し,設定ファイルを編集し,ISOを固める.
- 自動インストール用の設定ファイルはNASで起動したHTTPサーバから取得する.
- 利用者は,VM作成時にISOを指定して起動すると自動でインストールが完了する.
手順¶
(1) NASで共有フォルダを作成¶
コントロールパネル

「共有フォルダ」→「作成」→「共有フォルダの作成」

名前: os-auto-install 「次へ」

「次へ」→「次へ」→「次へ」→「適用」

共有フォルダ「os-auto-install」を選び,「編集」を押す

「NFS権限」→「作成」を選び以下のルールを入力し,「保存」を押す.

以下のルールが作成できているかは,共有ドライブ名を選び「編集」を押すことで確認できる.

(2) Webサーバの作成¶
Web Station

サービスポータルの作成

ポートベース→ポート:3000 ドキュメントルート:os-auto-install 「作成」

「OK」

(3) ISOのカスタマイズ¶
作業用VMにディレクトリを作成
mkdir ubuntu2004
cd ubuntu2004
インストーラのISOをダウンロード https://jp.ubuntu.com/download/
$ wget https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-live-server-amd64.iso
$ ls
ubuntu-20.04.3-live-server-amd64.iso
ISOのマウント先ディレクトリを作成
mkdir iso-mnt
ISOをディレクトリへマウント
sudo mount -o ro,loop ubuntu-20.04.3-live-server-amd64.iso iso-mnt/
マウント結果を確かめる
ls iso-mnt/
ビルド用のディレクトリを作成
mkdir iso_root
マウントしたファイル群をビルド用のディレクトリへコピー
rsync -avrz iso-mnt/ iso_root/
iso_root/ の所有者を変更
sudo chown -R $(whoami) iso_root/
権限を変更
chmod u+w iso_root/
isolinuxに移動
cd iso_root
iso_root/isolinuxに書き込み権限を付与
$ chmod u+w isolinux/
$ ls -l
total 68
dr-xr-xr-x 3 koyama koyama 4096 Aug 24 09:09 EFI
dr-xr-xr-x 3 koyama koyama 4096 Aug 24 09:09 boot
dr-xr-xr-x 3 koyama koyama 4096 Aug 24 09:09 casper
dr-xr-xr-x 3 koyama koyama 4096 Aug 24 09:08 dists
dr-xr-xr-x 2 koyama koyama 4096 Aug 24 09:09 install
drwxr-xr-x 2 koyama koyama 12288 Aug 24 09:09 isolinux
-r--r--r-- 1 koyama koyama 27368 Aug 24 09:09 md5sum.txt
dr-xr-xr-x 3 koyama koyama 4096 Aug 24 09:08 pool
dr-xr-xr-x 2 koyama koyama 4096 Aug 24 09:08 preseed
lrwxrwxrwx 1 koyama koyama 1 Aug 24 09:08 ubuntu -> .
パスワードのハッシュを生成
$ openssl passwd -6 tutcdsl2021
$6$Ld60tfe8aup1He/q$ffo2uPq66sXPFFrIT9E/th0WdX8wDfEbbtnDeqtMLgzTeeGkmHg/DA7C/ED8VV4EyxY4nSMhIxoKGL//4nR5y0
ここを見ながら設定ファイルuser-dataを作成
設定ファイルの構文をチェック
cloud-init devel schema --config-file user-data
iso_root/bootに書き込み権限を追加
$ chmod u+w -R boot/
$ ls -l
drwxr-xr-x 3 koyama koyama 4096 Aug 24 09:09 boot
boot/grub/grub.cfgを編集(EFI用)
isolinux/txt.cfg を編集(BIOS用)
ビルド用パッケージのインストール
sudo apt install isolinux xorriso
ビルドを行う.
$ ls
iso-mnt iso_root ubuntu-20.04.3-live-server-amd64.iso
$ sudo dd if=ubuntu-20.04.3-live-server-amd64.iso of=iso_root/isolinux/isohdpfx.bin bs=512 count=1
$ sudo xorriso -as mkisofs -volid "AUTOINST" -output ubuntu-2004-auto-$(date +%Y%m%d).iso -eltorito-boot isolinux/isolinux.bin -eltorito-catalog isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat -isohybrid-mbr iso_root/isolinux/isohdpfx.bin iso_root
xorriso 1.5.2 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:ubuntu-2004-auto-20220105.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 22.4g free
Added to ISO image: directory '/'='/home/koyama/ubuntu2004/iso_root'
xorriso : UPDATE : 745 files added in 1 seconds
xorriso : UPDATE : 745 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 512 bytes from file '/home/koyama/ubuntu2004/iso_root/isolinux/isohdpfx.bin'
libisofs: NOTE : Automatically adjusted MBR geometry to 1012/76/32
libisofs: NOTE : Aligned image size to cylinder size by 91 blocks
xorriso : UPDATE : 1.96% done
xorriso : UPDATE : 29.16% done
xorriso : UPDATE : 60.12% done
xorriso : UPDATE : 89.42% done
ISO image produced: 615296 sectors
Written to medium : 615296 sectors at LBA 0
Writing to 'stdio:ubuntu-2004-auto-20220105.iso' completed successfully.
(4) ファイルのアップロード¶
NASにログインする. File Station→「os-auto-install」を選び,ドラッグ&ドロップで以下のファイルをアップロードする.
- ISOファイル( ubuntu-2004-auto-2022-0105.iso )
- user-data(先の手順で紹介)
- meta-data(空ファイルを作成)
アップロード先は,user-dataとmeta-dataがos-auto-install/ubuntu2004フォルダの直下,ISOファイルはos-auto-installドライブの直下とする.

(5) ESXiにNFSを追加¶
NFSのマウントパスは,NASのコントロールパネルの「共有フォルダ」からドライブ名を選び,「編集」→「NFS権限」へアクセスすることで確認できる.以下ではマウントパスが「/volume1/os-auto-install」だとわかる.

ESXiにログインし,「ストレージ」→「データストア」→「新しいデータストア」→「NFSデータストアのマウント」→「次へ」を選ぶ.
以下の情報を入力し,「次へ」→「完了」を選ぶ.
- 名前: koyama-auto-install
- NFSサーバ: 192.168.110.3
- NFSシェア: /volume1/os-auto-install
- NFSバージョン: NFS3

(6) 仮想マシンを作成¶
VMにISOファイルを設定し起動する.
インストール時のISOファイルを koyama-auto-install/ubuntu-2004-auto-2022-0105.iso に設定する.
仮想マシンに以下のログイン情報でログインする.
- User: cdsl
- Password: tutcdsl2021
参考資料¶
VMの作成とOSインストール,遠隔ログイン設定を自動化 | クラウド・分散システム研究室
Ubuntu 20.04をAutoInstallで自動インストールしてみた - Qiita
Automated server install reference | Ubuntu
cdsl-research/auto-install-ubuntu-2004: Ubuntu 20.04の自動インストールISO用