ほぼ忘備録
環境
Ubuntu 18.04LTS Server
corei5の7世代あたり
メモリ16GB
HDD 1TB
めんどくさくなってきてコントローラーノードはホストマシンがやってる。
お約束
user:~$ apt update
user:~$ apt install qemu-kvm libvirt-bin libvirt0 virt-install
user:~$ sudo systemctl enable libvirt-bin
br0の作成
個人的にブリッジ接続で動かしたかったので、以下のリンクをもとに設定
。
NAT用ブリッジ接続を削除。まずは確認
user:~$ brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400c41bcd yes virbr0-nic
user:~$ sudo virsh net-autostart default --disable
Network default unmarked as autostarted
user:~$ sudo virsh net-destroy default
Network default destroyed
user:~$ brctl show
bridge name bridge id STP enabled interfaces
None
既存のインターフェイスを確認
user:~$ ip a
enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp5s0
valid_lft 11373sec preferred_lft 11373sec
/etc/netplan/50-cloud-init.yamlを編集。
user:~$sudo vi /etc/netplan/50-cloud-init.yaml
network:
ethernets:
enp5s0:
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [enp5s0]
addresses: [192.168.1.10/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
dhcp4: false
optional: true
version: 2
設定の適用
user:~$sudo netplan apply
# 動作確認
user:~$ip addr
user:~$sudo brctl show
で自分をlibvirt周りに追加して(要らない気がする)
user:~$ sudo adduser user libvirt
user:~$ sudo adduser user libvirt-qemu
isoファイルを保存(要らなかった)
user:~$ sudo mkdir /var/lib/libvirt/iso
user:~$ sudo wget http://releases.ubuntu.com/18.04/ubuntu-18.04.1.0-live-server-amd64.iso
user:~$ sudo chown libvirt-qemu:user /var/lib/libvirt/iso/ubuntu-18.04.1.0-live-server-amd64.iso
ほぼこっちのパクリ
イメージ作成
user:~# virt-install \
--name ubuntu1804 \
--ram 4096 \
--disk path=/var/kvm/images/ubuntu1804.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu18.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://jp.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' \
--extra-args 'console=ttyS0,115200n8 serial'
ゲストをシャットダウン
user:~# virsh shutdown ubuntu1804
Domain template is being shutdown
ゲスト領域をマウントしてサービスを有効にする
user:~# guestmount -d ubuntu1804 -i /mnt
user:~# ln -s /mnt/lib/systemd/system/getty@.service /mnt/etc/systemd/system/getty.target.wants/getty@ttyS0.service
user:~# umount /mnt
再度起動し、コンソールに接続
user:~# virsh start ubuntu1804 --console
ホストに戻ってCeph稼働用のユーザーを作ってsudo権限を作っておきます。
user:~# sudo adduser ceph
user:~# sudo gpasswd -a ceph sudo
アカウント切り替え
user:~# sudo su ceph
ceph@ubuntu:~$
で、管理ツールのインストール
ceph@ubuntu:~$ sudo apt -y install libguestfs-tools virt-top
各ノードにコンソールで入ってcephアカウントを作ってsudo権限を付ける
user:~# sudo adduser ceph
user:~# sudo gpasswd -a ceph sudo
user:~# sudo su ceph
ceph@ubuntu:~$ echo -e 'Defaults:ceph !requiretty\nubuntu ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph
ceph@ubuntu:~$ sudo apt -y install openssh-server python-ceph
Ceph管理ユーザーから一斉に各ノードを動かせると良いよね~ってことで鍵を作ってアクセスできるように。
ceph@ubuntu:~$ ssh-keygen
ceph@ubuntu:~$ vi ~/.ssh/config
Host ubuntu
Hostname Hostのip
User ceph
Host ubuntu1
Hostname ubuntu1804のip
User ceph
Host ubuntu2
Hostname ubuntu1804_2のip
User ceph
Host ubuntu3
Hostname ubuntu1804_3のip
User ceph
ceph@ubuntu:~$ chmod 600 ~/.ssh/config
ceph@ubuntu:~$ ssh-copy-id ubuntu1
ceph@ubuntu:~$ ssh-copy-id ubuntu2
ceph@ubuntu:~$ ssh-copy-id ubuntu3
コントローラーノードから設定
ceph@ubuntu:~$ sudo apt -y install ceph-deploy ceph-common ceph-mds
ceph@ubuntu:~$ mkdir ceph
ceph@ubuntu:~$ cd ceph
ceph@ubuntu:~$ ceph-deploy new ubuntu1
ceph@ubuntu:~$ ceph-deploy new ubuntu1
ceph@ubuntu:~$