ESXiでArchLinuxを稼働させようとして、ところどころはまりました。
最終的に問題なく稼働が出来るようになったので、構築のメモとして残しておきます。
前提条件
以下の環境を想定しています。
- ESXi上(バージョン不問)に、ArchLinuxを構成する
- 仮想マシンのネットワークではDHCPが利用でき、Internetへ直接アクセスが出来る構成になっている
構築するArchLinuxは以下の設定とします
- 英語キーボード
- 日本語キーボード利用の記載もしますが、私は利用していないので正しくないかも
- ディスク割当は、SWAP:2GB, boot:100MB, /:残り
- 必要に応じて、ディスク割当時に変更可能
- ext4を利用します
- ミニマムなインストール
- base, base-devel を入れます。必要な時に必要なパッケージを入れる、方針です。
構築する人は、fdiskコマンドは知っていると良いです。
- 例えば、新規でパーティション1を作る場合、「n, p, 1としてFirst sectorデフォルト, Last sectorは+1G」のように書きます
root@HOST# fdisk /dev/sda
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1):1
First sector (2048-xxxxx, default 2048): <enter>
Last sector, +sector or +size{K,M,G,T,P}: +2G
(これで 1GBのPrimary partitionを作る)
事前準備
以下の準備をします
- ArchLinuxのISOイメージをダウンロード
- https://www.archlinux.org/ からダウンロードしてください
- vShpere等でマウントが出来る場所に保存
- Datastore に ISO ディレクトリを作って置いておく、というのが楽かもしれません。運用次第です。
ArchLinux仮想マシンをつくる
仮想マシンを作る
vSphereClient等で仮想マシンを作ってください。
- スペックは任意で作成してください。
- ゲストOSは、Other linux (64bit)系を選ぶと良さそうです。
- 準備したArchLinuxのISOで起動するように、CD/DVDドライブの設定をしてください。
ISOイメージで起動する
ISOイメージで起動するので、"Boot Arch Linux (x86_64)"を選択して起動します。
暫くすると、rootのプロンプトが表示されます。
日本語キーボードを利用する場合は
loadkeys jp106
してください。
なお、この時点でネットワークにつながっているかを確認しておきましょう。
-
ping www.yahoo.co.jp
などでアクセスが出来る事を確認
インストールディスクのパーティション設定
ISOイメージ起動しているので、インストール先のディスクのパーティショニングをして、インストールできるようにしましょう。fdiskコマンドでパーティションを作成します。
- パーティションの作成
- swap領域の作成
- /dev/sda1で2GB
- fdiskで、
n, p, 1
としてFirst sectorデフォルト, Last sectorは+2G
- boot領域の作成
- /dev/sda2で100MB
- fdiskで、
n, p, 2
としてFirst sectorデフォルト, Last sectorは+100M
- /領域の作成
- /dev/sda3で "残り全部"
- fdiskで、
n, p, 3
としてFirst sectorデフォルト, Last sectorもデフォルト(最大値)
- swap領域の作成
- パーティションタイプの設定と、bootable flagの設定、設定の書き込み
- swapパーティションのタイプを82(Linux swap/Solaris)に変更
- fdiskで、
t, 1, 82
- fdiskで、
- bootrパーティションにbootable flagを付与
- fdiskで、
a, 2
- fdiskで、
- 設定の書き込み
- 設定を確認する
- fdiskで、
p
- /dev/sda1が"Linux swap / Solaris"、sda2とsda3が"Linux"になっている
- fdiskで、
- 問題なければ、書き込む
- fdiskで、
w
- fdiskで、
- 設定を確認する
- swapパーティションのタイプを82(Linux swap/Solaris)に変更
- ファイルシステムの構築
- 各パーティションを ext4ファイルシステムで構成します
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
- 各パーティションを ext4ファイルシステムで構成します
- bootの設定
- 稼働した際に /boot で起動できるようにする
- /を /mnt 辺りにマウント
mount /dev/sda3 /mnt
- /boot となるよう、/mnt/boot を作り、マウントする
mkdir /mnt/boot
mount/dev/sda2 /mnt/boot
- /を /mnt 辺りにマウント
- 稼働した際に /boot で起動できるようにする
- swapの設定
- スワップ有効化の設定をする
mkswap /dev/sda1
swapon /dev/sda1
- スワップ有効化の設定をする
システムインストール
/mnt 以下にディスクをマウントしているので、インストールしてしまいましょう。
- まずは、起動時にマウントできるように、fstabの作成
genfstab -U -p /mnt >> /mnt/etc/fstab
chrootしてからインストールしましょう。
arch-chroot /mnt
環境設定
localeやtimezone、hostnameの設定をします。
- /etc/locale.genの編集と、localeの生成、LANG設定
- nanoで編集
- en_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8を有効化(先頭の#を外す)
nano /etc/locale.gen
- en_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8を有効化(先頭の#を外す)
- 編集後、生成
locale-gen
- LANを設定し、exportする
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
- nanoで編集
- timezoneの設定
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc --utc
- ホスト名の設定
- ホスト名を/etc/hostnameに書き込む
echo "HOSTNAME" > /etc/hostname
- ホスト名を/etc/hostnameに書き込む
GRUBのインストール
GRUBをインストールして、grub.cfgを生成
- パッケージのインストール
pacman -S grub
- GRUBのインストールとcfgの生成
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
最終設定
後はリブートするだけですが、忘れがちな設定を先にしておきましょう。
- DHCPでネットワーク構成が出来るようにサービスを起動
systemctl enable dhcpcd.service
- rootのパスワード設定
passwd
これで最小限のArchLinuxサーバが完成しました。再起動して、ディスクから起動しましょう。
reboot
ArchLinux起動後の構成とか
必要なパッケージを入れましょう。
- パッケージ管理は pacman です。
-
pacman -S <PackageName>
でインストール可能です。-
pacman -S vim net-tools
とかしましょう。 - 不要なものはなるべく入れないのが良いでしょう。
-
-
pacman -Ss <PackageName>
でパッケージを検索できます
-
sshdは必要でしょう
- インストール
pacman -S openssh
- サービス開始
systemctl start sshd.service
- サーバ起動時に有効にする
systemctl enable sshd.service
終わりに
これで一応は使える環境になったので、後は普通のLinux同様に設定が出来るはずです。
なにか詰まったことがあった時は、archlinux postgres
のようにググれば、ArcLinuxのWiki https://wiki.archlinuxjp.org/ が出てくるでしょう。インストールの仕方から設定の仕方まで書いてあるので、非常に助かるサイトです。