如何让 EC2 “妻妾成群”?挂载更多磁盘并实现自动挂载!

在创建EC2的时候,会让我们选择挂载的存储,默认是一个Root盘,但是我们可以挂载更多的EBS盘来满足我们不同的分析流程,现在我们就来学习下如何挂载更多磁盘,并且实现自动挂载吧!

-- D.C

创建EC2挂载多块磁盘

ec2_create

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        475M     0  475M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  408K  492M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       30G  1.3G   29G   5% /
tmpfs            99M     0   99M   0% /run/user/1000
$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   30G  0 disk
`-xvda1 202:1    0   30G  0 part /
xvdb    202:16   0   80G  0 disk
xvdc    202:32   0  100G  0 disk
$ sudo file -s /dev/xvda1
/dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

$ sudo file -s /dev/xvdb
/dev/xvdb: data

$ sudo file -s /dev/xvdc
/dev/xvdc: data
$ sudo mkfs -t xfs /dev/xvdb
meta-data=/dev/xvdb              isize=512    agcount=4, agsize=5242880 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=20971520, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=10240, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

$ sudo mkfs -t xfs /dev/xvdc
meta-data=/dev/xvdc              isize=512    agcount=4, agsize=6553600 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=26214400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=12800, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Debug:如果提示“找不到 mkfs.xfs”,用这个命令 sudo yum install xfsprogs 安装XFS,然后再试。

$ sudo mkdir /db
$ sudo mkdir /data
$ sudo mount /dev/xvdb /db
$ sudo mount /dev/xvdc /data

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        475M     0  475M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  464K  492M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       30G  1.3G   29G   5% /
tmpfs            99M     0   99M   0% /run/user/1000
tmpfs            99M     0   99M   0% /run/user/0
/dev/xvdb        80G  114M   80G   1% /db
/dev/xvdc       100G  135M  100G   1% /data

$ sudo chown -R ec2-user.ec2-user /db
$ sudo chown -R ec2-user.ec2-user /data
$ ll
drwxr-xr-x   2 ec2-user ec2-user    6 Feb  2 09:05 data
drwxr-xr-x   2 ec2-user ec2-user   15 Feb  2 09:18 db

$ touch /db/1
$ touch /data/1

重启后自动附加附加卷

要在每次系统重启时附加附加的 EBS 卷,可在 /etc/fstab 文件中为该设备添加一个条目。我们可以在 /etc/fstab 中使用设备名称(如 /dev/xvdf),但建议改为使用设备的 128 位通用唯一标识符 (UUID)。设备名称可以更改,但 UUID 会在整个分区的使用寿命期间保留。通过使用 UUID,就可以减少系统在硬件重新配置后无法启动的机会。

$ sudo cp /etc/fstab /etc/fstab.orig

$ sudo blkid
/dev/xvda1: LABEL="/" UUID="966db7d5-c190-4987-b5a9-c60e4a9f4ed0" TYPE="xfs" PARTLABEL="Linux" PARTUUID="f6ad119a-c111-4db5-85aa-9ce50ee2725b"
/dev/xvdb: UUID="2696c94b-99ed-4e8b-ab08-5f27fc5d6f55" TYPE="xfs"
/dev/xvdc: UUID="b1c4720c-3d7e-464a-9eb7-b383678f511b" TYPE="xfs"
$ sudo vim /etc/fstab

//添加如下条目
UUID=2696c94b-99ed-4e8b-ab08-5f27fc5d6f55  /db  xfs  defaults,nofail  0  2
UUID=b1c4720c-3d7e-464a-9eb7-b383678f511b  /data  xfs  defaults,nofail  0  2

欲知详情,请打命令 man fstab

$ sudo umount /db
$ sudo umount /data
$ sudo mount -a
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        475M     0  475M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  448K  492M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       30G  1.3G   29G   5% /
tmpfs            99M     0   99M   0% /run/user/1000
/dev/xvdb        80G  114M   80G   1% /db
/dev/xvdc       100G  135M  100G   1% /data

ec2_reboot_check

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        475M     0  475M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M  416K  492M   1% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       30G  1.3G   29G   5% /
/dev/xvdc       100G  135M  100G   1% /data
/dev/xvdb        80G  114M   80G   1% /db
tmpfs            99M     0   99M   0% /run/user/1000

相信因为相信,独行因为独行。