Задача — поднять EC2 интанс и добавить второй жесткий диск (
Содержание
EC2
Запускаем EC2:
aws ec2 run-instances --image-id ami-cbfcd2b8 --count 1 --instance-type t2.nano --key-name my-cluster
Ждём загрузки, получаем IP, подключаемся:
aws ec2 describe-instances --instance-ids i-0ed219a6624f04b01 --query '[Reservations[*].Instances[*].NetworkInterfaces[*].Association.PublicIp]' --output text
34.249.11.227
Подключаемся:
ssh ubuntu@34.249.11.227 -i .ssh/my-cluster.pem
...
ubuntu@ip-172-31-34-112:~$
Проверяем диски:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
EBS
Создаём новый диск:
aws ec2 create-volume --size 50 --no-encrypted --volume-type gp2 --availability-zone eu-west-1b
{
"VolumeId": "vol-03a6adccdadcda8b0",
"Size": 50,
"SnapshotId": "",
"AvailabilityZone": "eu-west-1b",
"State": "creating",
"CreateTime": "2017-02-22T11:41:37.370Z",
"VolumeType": "gp2",
"Iops": 150,
"Encrypted": false
}
--availability-zone
— EBS должен находится в той же AZ, что и интанс, к которому он будет подключаться.
Подключаем его к интансу:
aws ec2 create-attach-volume --volume-id vol-03a6adccdadcda8b0 --instance-id i-0ed219a6624f04b01 --device xvdb
{
"VolumeId": "vol-03a6adccdadcda8b0",
"InstanceId": "i-0ed219a6624f04b01",
"Device": "xvdb",
"State": "attaching",
"AttachTime": "2017-02-22T11:42:05.264Z"
}
Возвращаемся к машине, проверяем диски:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 50G 0 disk
Вот наш новый xvdb
.
Дальше — стандартно. Создаём раздел, файловую систему и обновляем fstab
.
Создаём раздел с помощью fdisk
:
fdisk /dev/xvdb
Welcome to fdisk (util-linux 2.28.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x94dd589b.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-104857599, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-104857599, default 104857599):
Created a new partition 1 of type 'Linux' and of size 50 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Проверяем его разделы:
lsblk /dev/xvdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvdb 202:16 0 50G 0 disk
└─xvdb1 202:17 0 50G 0 part
Создаём файловую систему:
mkfs.ext4 /dev/xvdb1
Создаём точку монтирования, монтируем раздел:
mkdir /jenkins
mount /dev/xvdb1 /jenkins/
mount /dev/xvdb1 /jenkins/
Обвновляем /etc/fstab
, добавляем монтирование при старте машины.
Находим UUID раздела:
blkid /dev/xvdb1
/dev/xvdb1: UUID="1e87f4a3-3cdb-40ca-b0ff-4c237dba096e" TYPE="ext4" PARTUUID="94dd589b-01"
Редактируем /etc/fstab
(с nofail
cat /etc/fstab
LABEL=cloudimg-rootfs / ext4 defaults 0 0
UUID=1e87f4a3-3cdb-40ca-b0ff-4c237dba096e /jenkins ext4 defaults,nofail 0 2
Бутаем машину:
reboot
Connection to 34.249.11.227 closed by remote host.
Connection to 34.249.11.227 closed.
Проверяем:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 50G 0 disk
└─xvdb1 202:17 0 50G 0 part /jenkins
ls -l /jenkins/
total 16
drwx------ 2 root root 16384 Feb 22 11:45 lost+found
Готово.