こんな人に向けた記事
急にメモリ16Gで256GBくらいディスクがある「安い構成の」Linuxサーバーを検証用に1台用意しなければいけないけど、頼む相手がいなくて自分で用意しなければいけないけど、まとめ記事があればそれ見てポチポチやればいいから楽なのになぁ、という人向け。
ついでにCentOSの記事はぐぐれば出てくるけどUbuntuあんまりなかったぞ、という人にも。
ちなみにSSD使って楽に構築できる方法もありますが、今回は比較記事としてめんどくさい方法を記載しています。
前提
明記していな場合は全てAzure西日本DCを利用しました。金額当は執筆時のものです。
VMを選ぶ
メモリが多いVMシリーズは「E」(Ubuntu)
E2S v3 2CPU 16GB-RAM ¥13,332.48/month
管理ディスク
S15:256GB ¥1,268.74/month
VMをデプロイする
Azureポータルでぽちぽちやってね。OSのテンポラリディスクをSSDかHDDのどちらにするのか、このタイミングで選択します。
IPを固定にする
Azureポータルで仮想ネットワークのところで動的→静的に変更する。
ディスクを増やす
仮想マシーン>ディスクのところで「データディスクの追加」で追加します。
価格のところでS15は256GBとありますが、Sxxの選択肢で選ぶものではない、という軽い罠。
ディスクを初期化する(その1:パーティション作成)
ここから先はSSH接続したLinux上で作業します。赤字は入力したコマンドです。
要約すると「parted使ってラベルつけてセクタ指定でパーティション作成するために、先に指定可能なセクタ領域確認してからキャンセルしてから改めてパーティション作成した」です。
The closest location we can manage is 2048s to 536870878s (sectors
2048..536870878).
のTOのところの数字を使っているところを各自でやるときは変更しなければいけないっていう所だけ気を付ければよいでしょう。
tokutestadmin@tokutest201803:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 8.6M 1.6G 1% /run
/dev/sda1 30G 1.3G 28G 5% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/sdb1 32G 48M 30G 1% /mnt
tmpfs 1.6G 0 1.6G 0% /run/user/1000
tokutestadmin@tokutest201803:~$ sudo parted /dev/sdc
GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) p
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 536870912s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) unit s
(parted) p
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 536870912s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart ext4 2048s 536870911s
Warning: You requested a partition from 2048s to 536870911s (sectors
2048..536870911).
The closest location we can manage is 2048s to 536870878s (sectors
2048..536870878).
Is this still acceptable to you?
Yes/No? n
(parted)
(parted) mkpart ext4 2048s 536870878s
(parted) p
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 536870912s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048s 536870878s 536868831s ext4
(parted)
(parted) unit GiB
(parted) p
Model: Msft Virtual Disk (scsi)
Disk /dev/sdc: 256GiB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 0.00GiB 256GiB 256GiB ext4
(parted)
(parted) quit
Information: You may need to update /etc/fstab.
ディスクを初期化する(その2:フォーマット)
tokutestadmin@tokutest201803:~$ sudo mkfs.ext4 /dev/sdc1
mke2fs 1.42.13 (17-May-2015)
Discarding device blocks: done
Creating filesystem with 67108603 4k blocks and 16777216 inodes
Filesystem UUID: 7cf2a38e-50e7-4058-879f-1d789dea287e
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 mkdir /datadisk
$ sudo chmod 775 /datadisk
$ sudo mount /dev/sdc1 /datadisk
これでマウントできたはず。再起動しても外れないようにfstabにも書く・・・前にUUIDを確認する。
tokutestadmin@tokutest201803:~$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
mqsdb1 ext4 86163c19-93ae-42af-b023-f54bffc6a976 /mnt
sr0
sdc
mqsdc1 ext4 7cf2a38e-50e7-4058-879f-1d789dea287e /datadisk
sda
mqsda1 ext4 cloudimg-rootfs 75604357-9029-4b6f-8c13-6201b689c664 /
$ sudo vi /etc/fstab
UUID="xxxx" /datadisk defaults 1 2
を記載する。結果は以下。
tokutestadmin@tokutest201803:~$ cat /etc/fstab
UUID=75604357-9029-4b6f-8c13-6201b689c664 / ext4 defaults,discard 0 0
UUID=7cf2a38e-50e7-4058-879f-1d789dea287e /datadisk ext4 auto 1 2
/dev/disk/cloud/azure_resource-part1 /mnt auto defaults,nofail,x-systemd.requires=cloud-init.service,comment=cloudconfig 0 2
$df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.9G 0 7.9G 0% /dev
tmpfs 1.6G 8.6M 1.6G 1% /run
/dev/sda1 30G 1.3G 28G 5% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/sdb1 32G 48M 30G 1% /mnt
tmpfs 1.6G 0 1.6G 0% /run/user/1000
/dev/sdc1 252G 60M 239G 1% /datadisk
でマウントされたことを確認して完了。念のためrebootしてマウント外れないかを確認しておく。
お疲れさまでした。