0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

超軽量 Linux: Tiny Core Linux の OVF テンプレートを作成する

Last updated at Posted at 2021-12-26

はじめに

大量の仮想マシンをvSphere環境上で稼働させるテストをしたり、HCX vMotionで仮想マシンを距離が離れたvSphere環境に複数VM移行をする検証を行なったりする際に、軽量の仮想マシンを利用したいケースがあるかと思います。
今回はその要件を満たすTiny Core Linuxの現行版であるVersion 12.0を利用してOVFテンプレートの作成を行います。

目次

  1. Tiny Core Linux
  2. Tiny Core Linuxを仮想マシンとしてインストールする
  3. OVFテンプレートのエクスポート
  4. まとめ
  5. 参考文献

Tiny Core Linux

Tiny Core Linuxは、Linuxディストリビューションの1つであり、大きな特徴は、そのサイズの小ささにあります。Tiny Core Linux 自身(Core)は11MBしかなく、デスクトップ向け Linux としてはもっとも小さい部類に入ります。
実行に必要なメモリも少なくて済む一方で例えばcurl、wget、など良く利用する機能を追加したり、OpenSSHサーバを起動したり、VMware Toolsをインストールする事もできます。
一つのESXi上に大量のVMを起動したいといったケースや軽量の仮想マシンを使ってvMotionをしたいといったケースに正に合致しますね。

Tiny Core Linuxを仮想マシンとしてインストールする

この記事では、Tiny Core LinuxのOVFテンプレートを作成する手順をまとめます。
まず、Tiny Core ISOをこちらからダウンロードします。

仮想マシンに使用した設定は以下の通りです。

項目 設定値
VM ハードウェアバージョン 11 — ESXi 6.0 以降との互換性
ゲスト OS ファミリ Linux
ゲスト OS バージョン その他の Linux 3.x 以降(32 ビット)
CPU 1
メモリ 256MB
ハードディスク 64MB
※ 仮想デバイス ノードを IDE 0に変更し、
仮想デバイスノードを IDE 0:0に設定
CD/DVD メディア 仮想デバイスノードを IDE 1:0 に変更

CD/DVD ドライブにダウンロードしたISOファイルをマウントして仮想マシンを起動します。

WEBコンソールを開き、起動オプションはBoot Core Plus with default FLM topside.を選択しました。
image.png

Applications -> tc-installを選択します。
image.png

以下の通りの設定を選択して、Proceedをクリックします。(詳細なインストール手順については、こちらのガイドを参照して下さい。)
マウスが動作しなかったのでタブキーとスペースキー、カーソルキーを使ってこの画面まで辿り着きました。。
image.png

以下の通り、インストールが完了したので再起動(Crtl + Alt + Delete)をします。
image.png

OSがインストールされましたので、シェルに入ります。
image.png

以下の通りDHCPからIPアドレスが取得できています。

tc@box:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:50:56:BE:74:CE  
          inet addr:192.168.80.173  Bcast:192.168.80.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6815 errors:0 dropped:10 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:437482 (427.2 KiB)  TX bytes:11298 (11.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tc@box:~$ 

まずtcユーザーのパスワードの設定を行います。

tc@box:~$ passwd
Changing password for tc
...
tc@box:~$

次に、必要なパッケージと拡張機能をインストールします。(このタイミングではまだSSH接続できないのでWEBコンソールで手打ちする必要があります。。)

tc@box:~$ tce-load -wi pcre.tcz curl.tcz wget.tcz open-vm-tools.tcz openssh.tcz

onboot パッケージリストは以下のようになります。

tc@box:~$ cat /etc/sysconfig/tcedir/onboot.lst
pcre.tcz
curl.tcz
wget.tcz
open-vm-tools.tcz
openssh.tcz
tc@box:~$ 

SSH サーバーを設定して有効にします。

cd /usr/local/etc/ssh
sudo cp ssh_config.orig ssh_config
sudo cp sshd_config.orig sshd_config
sudo /usr/local/etc/init.d/openssh start

ここでようやくリモートからSSH接続できるようになり、WEBコンソールでの操作から解放されました!(今回はEC2から接続をしています)

[ec2-user@ip-XX-XX-XX-XX ~]$ ssh tc@192.168.80.173
The authenticity of host '192.168.80.173 (192.168.80.173)' can't be established.
ECDSA key fingerprint is SHA256:.................
ECDSA key fingerprint is MD5:9b:86:fe:76:06:b2:01:0b:30:76:52:05:9e:XX:XX:XX.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.80.173' (ECDSA) to the list of known hosts.
tc@192.168.80.173's password: 
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net

tc@box:~$ 

次に、すべての設定を保存し、再起動後も永続化する為に起動スクリプト (bootlocal.sh) に追加します。

sudo su
echo '/opt/interfaces.sh' >> /opt/.filetool.lst
echo '/usr/local/etc/ssh' >> /opt/.filetool.lst
echo '/etc/shadow' >> /opt/.filetool.lst
echo '/opt/interfaces.sh' >> /opt/bootlocal.sh
echo '/usr/local/etc/init.d/open-vm-tools start &> /dev/null'  >> /opt/bootlocal.sh
echo '/usr/local/etc/init.d/openssh start &> /dev/null' >> /opt/bootlocal.sh

最後にすべての設定をバックアップします

root@box:/home/tc# filetool.sh -b
Backing up files to /mnt/sda1/tce/mydata.tgz /

これで、仮想マシンを安全に再起動できます。
再起動後、vCenterからIPアドレスとVMware Toolsのバージョンが確認できるようになります。
image.png

OVFテンプレートのエクスポート

最後に仮想マシンをシャットダウンして、OVFテンプレートにエクスポートします。
image.png

まとめ

仮想マシンとしてインストールするには少しクセがありますが、一回インストールしてテンプレート化してしまえば、軽量で検証の際に非常に有効に利用する事ができます。
i3en.metalの2ホストSDDCをデプロイしてみる(VMware Cloud on AWS)でもこのTiny Core Linuxのテンプレートを利用して大量の仮想マシンを短時間で作成を行いました。

参考文献

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?