Debian 9 Stretch
Sponsored Link

OpenStack Newton : イメージを登録する
2017/07/02
 
Glance に イメージの登録をします。
[1] Glance へのイメージの登録用に、例として、Debian 9 のイメージを作成します。
root@dlp ~(keystone)#
apt -y install libguestfs-tools virt-top
# ディスクイメージを格納するディレクトリを作成しておく

root@dlp ~(keystone)#
mkdir -p /var/kvm/images
# ディスクイメージを作成しておく

root@dlp ~(keystone)#
qemu-img create -f qcow2 /var/kvm/images/debian9.img 10G
root@dlp ~(keystone)#
virsh net-start default

root@dlp ~(keystone)#
virt-install \
--name debian9 \
--ram 2048 \
--disk path=/var/kvm/images/debian9.img,format=qcow2 \
--vcpus 2 \
--os-type linux \
--os-variant debian9 \
--network network=default \
--graphics none \
--console pty,target_type=serial \
--location 'http://ftp.jaist.ac.jp/pub/Linux/debian/dists/stretch/main/installer-amd64/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...    
# インストールが開始される
# インストール終了後、ホスト側からシャットダウン

root@dlp ~(keystone)#
virsh shutdown debian9
# ゲストの仮想ディスクマウント

root@dlp ~(keystone)#
guestmount -d debian9 -i /mnt
# getty@ttyS0.service を有効にする

root@dlp ~(keystone)#
ln -s /mnt/lib/systemd/system/getty@.service /mnt/etc/systemd/system/getty.target.wants/getty@ttyS0.service

# アンマウントして起動

root@dlp ~(keystone)#
umount /mnt

root@dlp ~(keystone)#
virsh start debian9 --console
# ゲスト側でインスタンス用設定

root@debian:~#
apt -y install ssh cloud-init
root@debian:~#
vi /etc/default/grub
# 9行目:以下のように変更

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="
console=tty1 console=ttyS0
"
GRUB_CMDLINE_LINUX=""
# 33,34行目:コメント化

#
GRUB_TERMINAL=serial
#
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stopp=1"
root@debian:~#
update-grub
root@debian:~#
vi /etc/cloud/cloud.cfg
# 13行目あたりに追記 (SSHパスワード認証も許可する場合のみ)

ssh_pwauth: true
# 87行目:変更 ([debian] ユーザーのパスワード認証を許可する場合のみ)

default_user:
    name: debian
    lock_passwd:
False
root@debian:~#
vi /etc/network/interfaces
# ループバック以外はコメント化

# The primary network interface
#
auto ens2
#
iface ens2 inet dhcp
root@debian:~#
systemctl enable serial-getty@ttyS0.service
# シャットダウンして終了

root@debian:~#
shutdown -h now
[3] 作成したイメージディスクを Glance へ登録します。
root@dlp ~(keystone)#
openstack image create "Debian9" --file /var/kvm/images/debian9.img --disk-format qcow2 --container-format bare --public

+------------------+------------------------------------------------------+
| Field            | Value                                                |
+------------------+------------------------------------------------------+
| checksum         | b8f368fd71093b6b17c112fa8aca33b4                     |
| container_format | bare                                                 |
| created_at       | 2017-07-03T03:53:19Z                                 |
| disk_format      | qcow2                                                |
| file             | /v2/images/2a339775-723f-489d-ab6d-66308c750918/file |
| id               | 2a339775-723f-489d-ab6d-66308c750918                 |
| min_disk         | 0                                                    |
| min_ram          | 0                                                    |
| name             | Debian9                                              |
| owner            | 5d0a67ea1741404aa057d1fdb6e4e1be                     |
| protected        | False                                                |
| schema           | /v2/schemas/image                                    |
| size             | 1684799488                                           |
| status           | active                                               |
| tags             |                                                      |
| updated_at       | 2017-07-03T03:53:35Z                                 |
| virtual_size     | None                                                 |
| visibility       | public                                               |
+------------------+------------------------------------------------------+

root@dlp ~(keystone)#
openstack image list

+--------------------------------------+---------+--------+
| ID                                   | Name    | Status |
+--------------------------------------+---------+--------+
| 2a339775-723f-489d-ab6d-66308c750918 | Debian9 | active |
+--------------------------------------+---------+--------+
[4] インターネット上で配布されているディスクイメージを利用する場合は、ダウンロードしたものを登録すれば OK です。
root@dlp ~(keystone)#
wget http://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P /var/kvm/images
root@dlp ~(keystone)#
openstack image create "Ubuntu1604" --file /var/kvm/images/ubuntu-16.04-server-cloudimg-amd64-disk1.img --disk-format qcow2 --container-format bare --public

+------------------+------------------------------------------------------+
| Field            | Value                                                |
+------------------+------------------------------------------------------+
| checksum         | fc5ad26274fcc42cfa32d97308613432                     |
| container_format | bare                                                 |
| created_at       | 2017-02-24T01:44:21Z                                 |
| disk_format      | qcow2                                                |
| file             | /v2/images/3113fc28-fa1f-4221-909e-a4fc5bdb8d6a/file |
| id               | 3113fc28-fa1f-4221-909e-a4fc5bdb8d6a                 |
| min_disk         | 0                                                    |
| min_ram          | 0                                                    |
| name             | Ubuntu1604                                           |
| owner            | 3424019a88f34894b22058d6e15a8d35                     |
| protected        | False                                                |
| schema           | /v2/schemas/image                                    |
| size             | 324141056                                            |
| status           | active                                               |
| tags             |                                                      |
| updated_at       | 2017-02-24T01:44:23Z                                 |
| virtual_size     | None                                                 |
| visibility       | public                                               |
+------------------+------------------------------------------------------+
関連コンテンツ
 
Tweet