LIVA PCにCoreOSインストール

📅 2015/10/05

CoreOS ECS LIVA

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メモ

📅 2015/05/04

CoreOS

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を使う

📅 2014/09/07

CoreOS さくらVPS

CoreOS ISOのダウンロード

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

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

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

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

CoreOSのセットアップ

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

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

ネットワーク設定

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

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

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

$ ssh-keygen -t rsa -C "core os ssh"
</pre>
<pre>
#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ファイルを作成します。

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

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

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

参考

メモ

coreos-install後のチェック

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