CentOS 6 の KVM ホストに CentOS Atomic Host を CLI でセットアップしてみました。セットアップしただけでまだなにも使っていませんが・・・
イメージとかを置くディレクトリを作成します。
mkdir -p /path/to/atomic
cd /path/to/atomic
Cloudinit のための ISO を作成します。
Atomic Host のルートパーティションと Docker のストレージを別のディスクにするために write_files
で docker-storage-setup
に DEVS
とか VG
とかを書いています。
cat <<EOS> meta-data
instance-id: atomic-001
local-hostname: atomic-001.example.com
EOS
cat <<EOS> user-data
#cloud-config
ssh_authorized_keys:
$(curl -s https://github.com/ngyuki.keys | sed 's/^/ - /')
write_files:
- path: /etc/sysconfig/docker-storage-setup
content: |
DEVS=/dev/vdb
VG=docker
DATA_SIZE=90%VG
EOS
genisoimage -output atomic-001.iso -volid cidata -joliet -rock user-data meta-data
ディスクイメージをダウンロードします。
curl http://cloud.centos.org/centos/7/atomic/images/CentOS-Atomic-Host-7-GenericCloud.qcow2.gz |
gzip -dc > base.qcow2
ダウンロードしたディスクイメージから差分ディスクを作成します。
qemu-img create -b base.qcow2 -f qcow2 atomic-001.qcow2
Docker のストレージ用の LVM ボリュームを作成します。
lvcreate -L 20G -n vm.atomic-001 vg0
virt-install
でゲストを作成します。
--disk
で、ダウンロードしたディスクイメージ(の差分ディスク)、Cloudinit のための ISO、Docker ストレージのための LVM ボリューム、を指定します。
virt-install \
--name atomic-001 \
--hvm \
--virt-type kvm \
--ram 1024 \
--vcpus 1 \
--arch x86_64 \
--os-type linux \
--os-variant rhel7 \
--boot hd \
--disk path=/path/to/atomic/atomic-001.qcow2,format=qcow2 \
--disk path=/path/to/atomic/atomic-001.iso,device=cdrom,bus=ide,perms=ro \
--disk path=/dev/vg0/vm.atomic-001 \
--network bridge=br0 \
--graphics none \
--serial pty \
--console pty
自動的にゲストのコンソールにアタッチされるので、IP アドレスが表示されるまで待ってから Ctrl + ]
で抜けて SSH で接続します。
ssh centos@192.0.2.123
pvs
で物理ボリュームを見てみます。
sudo pvs
atomicos
と docker
の2つのボリュームグループが作成されています。
PV VG Fmt Attr PSize PFree
/dev/vda2 atomicos lvm2 a-- 9.69g 6.75g
/dev/vdb1 docker lvm2 a-- 20.00g 1.95g
lvs
で論理ボリュームの状態を見てみます。
sudo lvs
ルートパーティションと docker-pool
が別のボリュームグループに作成されています。
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root atomicos -wi-ao---- 2.94g
docker-pool docker twi-a-t--- 18.00g 0.32 0.20
docker info
で Docker の情報を見てみます。
sudo docker info
それっぽい Pool Name になっています。
Containers: 0
Images: 0
Storage Driver: devicemapper
Pool Name: docker-docker--pool
Pool Blocksize: 524.3 kB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 62.39 MB
Data Space Total: 19.32 GB
Data Space Available: 19.26 GB
Metadata Space Used: 49.15 kB
Metadata Space Total: 25.17 MB
Metadata Space Available: 25.12 MB
:
: