最近では、AWSやOCIなど利用して、ブロックストレージを利用する場合もあるかと思います。
アタッチまでは、各クラウド側を参考にして対応願います。
以前からあるLVMを使う方法とpartedを使う方法があるようです。
現状確認
$ lsblkや fdisk で確認する 例では、100GBアタッチしている。
$ lsblk -o +UUID
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID
sda 8:0 0 46.6G 0 disk
├─sda1 8:1 0 46.5G 0 part / 10b1122d-31eb-4451-b603-4f044688e458
└─sda15 8:15 0 99M 0 part /boot/efi 21F4-B0A5
sdb 8:16 0 100G 0 disk
----
$ sudo fdisk -l (既存のDISKが色々出力される) Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors Disk model: BlockVolume Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 1048576 bytes $
論理ボリューム作成
$ sudo pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
$ sudo vgcreate VolGroup00 /dev/sdb
Volume group "VolGroup00" successfully created
$ sudo lvcreate -l +100%FREE -n LogVol00 VolGroup00
Logical volume "LogVol00" created.
$ sudo mkfs.xfs /dev/VolGroup00/LogVol00 -f
meta-data=/dev/VolGroup00/LogVol00 isize=512 agcount=4, agsize=6553344 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=26213376, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=12799, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
$ sudo mkdir /data
$ sudo mount -t xfs /dev/VolGroup00/LogVol00 /data
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 6071892 0 6071892 0% /dev
/dev/sda1 47158992 2293712 44848896 5% /
/dev/mapper/VolGroup00-LogVol00 104802308 763772 104038536 1% /data
(永続的には、/etc/fstabに追記すると、再起動時も自動的にMountされる。)
/dev/mapper/VolGroup00-LogVol00 /data xfs defaults 0 2
直接、アタッチ (最近は、こっちらしい?)
parted をつかって確認する。まだ、見えるがエラーになっている。
$ sudo parted -l
Model: ORACLE BlockVolume (scsi)
Disk /dev/sda: 50.0GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
15 1049kB 105MB 104MB fat32 boot, esp
1 106MB 50.0GB 49.9GB ext4
Error: /dev/sdb: unrecognised disk label
Model: ORACLE BlockVolume (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags:
作成する
$ sudo parted -s -a optimal /dev/sdb mklabel gpt \ mkpart primary 0% 100%
$ sudo parted /dev/sdb print
Model: ORACLE BlockVolume (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 107GB 107GB xfs primary
$ sudo mkfs.xfs /dev/sdb1 -f
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=6553472 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=26213888, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=12799, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
確認する
sudo mkdir /
data (UUDIの確認) $ lsblk -o +UUID NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID sda 8:0 0 46.6G 0 disk ├─sda1 8:1 0 46.5G 0 part / 10b1122d-31eb-4451-b603-4f044688e458 └─sda15 8:15 0 99M 0 part /boot/efi 21F4-B0A5 sdb 8:16 0 100G 0 disk └─sdb1 8:17 0 100G 0 part 4638c367-5a1e-49c6-9e42-7fa185271cbe
マウントし確認する
$ sudo mount -t xfs UUID=4638c367-5a1e-49c6-9e42-7fa185271cbe /data $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 6071892 0 6071892 0% /dev /dev/sda1 47158992 2293748 44848860 5% / /dev/sdb1 104804356 763788 104040568 1% /data
永続的に追加する /etc/fstab に追記する
UUID=4638c367-5a1e-49c6-9e42-7fa185271cbe /data xfs defaults 0 2
作業ユーザーに権限を与える。
$ sudo chown -R ubuntu.ubuntu /data $ sudo ls -la /data total 4 drwxr-xr-x 2 ubuntu ubuntu 17 Apr 21 02:17 . drwxr-xr-x 20 root root 4096 Apr 21 01:39 ..
おまけエラーの対処
色々、いじっていると以下のエラーが出る時がある
$ sudo pvcreate /dev/sdb Device /dev/sdb excluded by a filter.
「対処方法」
$ sudo wipefs -a /dev/sdb /dev/sdb: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54 /dev/sdb: 8 bytes were erased at offset 0x18fffffe00 (gpt): 45 46 49 20 50 41 52 54 /dev/sdb: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa /dev/sdb: calling ioctl to re-read partition table: Success
aaa