LIVA PCにCoreOSインストール

UbuntuをUSBにインストール

sudo dd if=ubuntu-14.04.3-desktop-amd64.iso of=/dev/disk3 bs=1m

UbuntuからCoreOSをインストール

F2を押してgnome consoleと入力して端末を開きます。
あとは参考に記載したQiitaと同じようにコマンドを入れてインストールを完了させます。

wget https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install
chmod 755 coreos-install
sudo ./coreos-install -d /dev/mmcblk0 -C stable

あとはsudo shutdown -h nowの後USBをを抜いて起動するとCoreOSが立ち上がってきます。

autologinを一時的有効

cloud-config.ymlを指定せずにインストールしたでsshも何もできません。

Deleteキーを押したまま起動するとGNU GRUBのメニューが出るので一番上のCoreOS defaultをEキーで編集します。
if内のコマンドの一番最後にcoreos.autologinを追記してF10キーを押せばCoreOS起動後にログイン状態になります。

cloud-config.ymlを設定

sodo vim /usr/share/oem/cloud-config.ymlで以下のような設定を記載します。

#cloud-config

write_files:
  - path: /etc/systemd/network/static.network
    content: |
      [Match]
      Name=enp3s0

      [Network]
      Address=192.168.xxx.xxx/24
      Gateway=192.168.xxx.xxx
      DNS=192.168.xxx.xxx

ssh_authorized_keys:
  - ssh-rsa AAA

あとはrebootしてやればsshで繋げれるようになります。

参考

CoreOS + RAID5メモ

Intel 320 60GB x 5 をRAID5で構成で作ろうとした時のメモ。

dmesgを見るとmdがsda,sdb,adc,sdd,sdeのRAIDデバイスだと分かる。
/devを覗いてみると3つのデバイスがぶら下がっている。
/proc/mdstatにraidの設定が書かれている。

$ ls /dev | grep md
md
md126
md127

$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md126 : active raid5 sda[4] sdb[3] sdc[2] sdd[1] sde[0]
      234452992 blocks super external:/md127/0 level 5, 64k chunk, algorithm 0 [5/5] [UUUUU]

md127 : inactive sdb[4](S) sda[3](S) sde[2](S) sdc[1](S) sdd[0](S)
      11620 blocks super external:imsm

unused devices: <none>

$ sudo mdadm -D /dev/md126
/dev/md126:
      Container : /dev/md/imsm0, member 0
     Raid Level : raid5
     Array Size : 234452992 (223.59 GiB 240.08 GB)
  Used Dev Size : 58613376 (55.90 GiB 60.02 GB)
   Raid Devices : 5
  Total Devices : 5

          State : clean 
 Active Devices : 5
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-asymmetric
     Chunk Size : 64K


           UUID : xxxx
    Number   Major   Minor   RaidDevice State
       4       8        0        0      active sync   /dev/sda
       3       8       16        1      active sync   /dev/sdb
       2       8       32        2      active sync   /dev/sdc
       1       8       48        3      active sync   /dev/sdd
       0       8       64        4      active sync   /dev/sde

$ sudo mkfs.ext4 /dev/md126                                                                                                                                                                                                                                       
mke2fs 1.42.10 (18-May-2014)
Creating filesystem with 58613248 4k blocks and 14655488 inodes
Filesystem UUID: xxxx
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done     

$ sudo mkfs.ext4 /dev/md126
$ blkid
/dev/md126: UUID="xxxxx" TYPE="ext4"

取り敢えずインストールコマンドを叩く

$ coreos-install -d /dev/md126 -c cloud-config.yml 
/usr/bin/coreos-install: Target block device (/dev/md126) is not a full disk.

インストーラのコードを見てみるとデバイスがdisk|loop|lvm以外だとだめのようだ。

https://github.com/coreos/init/blob/master/bin/coreos-install#L187

lsblk -n -d -o TYPE /dev/md126
raid5

https://github.com/coreos/docs/issues/222

raid5でlvmを作ってそこにインストールする方向に変更

参考:http://qiita.com/irasally/items/b3630eb2f7739a05d4bc

$ sudo fdisk /dev/md126 
$ lsblk -n -d -o TYPE /dev/md126
$ lsblk -n -d -o TYPE /dev/md126p1 
$ sudo pvcreate /dev/md126p1 
$ sudo vgcreate VgRaid /dev/md126p1
$ sudo lvcreate -n LvRaid -l 100%FREE VgRaid
$ lsblk -n -d -o TYPE /dev/md126p1 
md
$ lsblk -n -d -o TYPE /dev/VgRaid/LvRaid 
lvm
$ sudo coreos-install -d /dev/VgRaid/LvRaid -c cloud-config.yml 
Checking availability of "local-file"
Fetching user-data from datasource of type "local-file"
Downloading the signature for http://stable.release.core-os.net/amd64-usr/633.1.0/coreos_production_image.bin.bz2...
2015-05-04 10:37:52 URL:http://stable.release.core-os.net/amd64-usr/633.1.0/coreos_production_image.bin.bz2.sig [543/543] -> "/tmp/coreos-install.YKTo85nR9C/coreos_production_image.bin.bz2.sig" [1]
Downloading, writing and verifying coreos_production_image.bin.bz2...
2015-05-04 10:39:01 URL:http://stable.release.core-os.net/amd64-usr/633.1.0/coreos_production_image.bin.bz2 [139976806/139976806] -> "-" [1]
gpg: Signature made Thu Mar 26 11:07:40 2015 UTC using RSA key ID E5676EFC
gpg: key 93D2DCB4 marked as ultimately trusted
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: Good signature from "CoreOS Buildbot (Offical Builds) <buildbot@coreos.com>" [ultimate]
blockdev: ioctl error on BLKRRPART: Invalid argument

アッ、ハイ…無理ですね。

RAID1に無理インストールする方法があるみたいだけど、ここまでやるならdiskに直接インストールすればいいや…
https://gist.github.com/psi-4ward/c1cece78cdf8fa9d64e7

さくらVPSでCoreOSを使う

CoreOS ISOのダウンロード

1

こちらからCoreOSのISOを取得します。
今回はStable Channelを使います。

ISOイメージインストール

次にさくらVPSにログインした後、「OS再インストール」を選び「ISOイメージインストールへ」を選択します。

3

4

5

「アカウント作成」を押してアップロード用のアカウントを作成します。
表示されたアカウントを使いsftpで/isoフォルダへCoreOSのISOをアップロードします。

6

7

アップロードが完了した後、更新ボタンを押すとアップロードしたISOファイルについて表示されます。
VirtIOの有効にチェックを入れて下部の「確認」ボタンを押し、次の画面の「実行」ボタンを押すとCoreOSのインストールが開始されます。

CoreOSのセットアップ

8

表示されているIPアドレスをすべてメモして「HTML5 モードで開く(推奨)」ボタンを押してコンソールを開きます。

9

ネットワーク疎通が取れないのでネットワークの設定をします。

ネットワーク設定

10

VirtIOを有効にするとensでなくethになるのでISOインストール時に出ていたIPを元に/etc/systemd/network/static.networkへ以下の設定を書き込みます。

[Match]
Name=eth0

[Network]
Address=1xx.121.xx.17/23
Gateway=1xx.xxx.56.1
DNS=xxx.188.xxx.10
DNS=xxx.188.xxx.11

11

systemd-networkdを再起動し、外部と疎通が取れるか確認します。
無事pingが通ったので、一時的にsshで接続するために設定を行います。

12

coreユーザのパスワードを変更すればsshでの接続ができるようになります。

13

$ ssh-keygen -t rsa -C "core os ssh"
#cloud-config

write_files:
  - path: /etc/systemd/network/static.network
    content: |
      [Match]
      Name=eth0

      [Network]
      Address=1xx.121.xx.17/23
      Gateway=1xx.xxx.56.1
      DNS=xxx.188.xxx.10
      DNS=xxx.188.xxx.11

ssh_authorized_keys:
  - ssh-rsa AAAA...

sshキーを作成してセットアップ用のcloud-configファイルを作成します。

14

15

作成したcloud-configを使いCoreOSのインストールコマンドを叩きます。

16

18

インストールに成功したらVPSホームから再起動します。

19

sshでログインできなければVPSホームから何度か再起動するとできるようになります。

参考

https://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config/
https://coreos.com/docs/cluster-management/setup/customizing-sshd/
http://qiita.com/yujiod/items/dc154120c4df2e938111

メモ

coreos-install後のチェック

mkdir vda9
mount /dev/vda9 ./vda9
sudo su
cat ./vda9/var/lib/coreos-install/user_data