AWS-EC2自动挂载EBS卷或磁盘
Posted gamedev˚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS-EC2自动挂载EBS卷或磁盘相关的知识,希望对你有一定的参考价值。
linux下自动挂载的配置文件是放在
[root@ip-172-31-10-1 mongodb]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Feb 22 17:08:22 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=ef6ba050-6cdc-416a-9380-c14304d0d206 / xfs defaults 0 0
在这个配置文件中,最后一行显示的是自动挂载的磁盘。
对于用AMI启动的EC2实例特别要注意,在第一次按照默认配置(实际的启动卷数量)进行启动之后,若想修改默认的卷个数或进行其他卷挂载的时候,需要修改自动挂载脚本。若在不修改配置文件的情况下,解除了在配置文件中出现的原挂载卷,会导致实例在重启后无法正常启动,你的EC2实例也就坏了…
那么,如何查看自己挂载的卷是否在自动挂载的配置文件中?
下面进行查询
首先要查询到机器上挂载了那些卷:
$ df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 30G 11G 20G 37% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 17M 3.7G 1% /run
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/xvdg 500G 377G 123G 76% /data_bak
/dev/mapper/kp-data 695G 458G 237G 66% /data
tmpfs 757M 0 757M 0% /run/user/1000
从上面可以看出,/dev开头的是挂载卷,总共有三个挂载卷,我们需要知道每个挂载卷的UUID号。
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 30G 0 disk
└─xvda1 202:1 0 30G 0 part /
xvdh 202:112 0 700G 0 disk
└─kp-data 253:0 0 695G 0 lvm
loop0 7:0 0 100G 0 loop
└─docker-202:1-466265-pool 253:1 0 100G 0 dm
└─docker-202:1-466265-07b91bd38d426f9da2428c068aa1b780e3ca2236a29cce6efba92c4143adf498 253:2 0 10G 0 dm
loop1 7:1 0 2G 0 loop
└─docker-202:1-466265-pool 253:1 0 100G 0 dm
└─docker-202:1-466265-07b91bd38d426f9da2428c068aa1b780e3ca2236a29cce6efba92c4143adf498 253:2 0 10G 0 dm
# blkid
/dev/block/202:1: UUID="ef6ba050-6cdc-416a-9380-c14304d0d206" TYPE="xfs"
/dev/loop0: UUID="32b45258-a08f-4e9b-b2fa-5baa99f96c7d" TYPE="xfs"
/dev/mapper/docker-202:1-466265-pool: UUID="32b45258-a08f-4e9b-b2fa-5baa99f96c7d" TYPE="xfs"
/dev/mapper/docker-202:1-466265-07b91bd38d426f9da2428c068aa1b780e3ca2236a29cce6efba92c4143adf498: UUID="32b45258-a08f-4e9b-b2fa-5baa99f96c7d" TYPE="xfs"
通过上面两个命令可以查找到对应的UUID号。
将需要去除的卷那一行去掉即可。
另外将EBS卷和实例分离的步骤
- 使用以下命令卸载 /dev/sdh 设备
umount -d /dev/sdh
打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/。
在导航窗格中,选择 Volumes。
选择卷,然后选择 Actions、Detach Volume。
在确认对话框中,选择 Yes, Detach。
如果碰到显示卷正在使用busy的信息,说明有程序正在使用这个卷。
[centos@ip-172-31-10-1 ~]$ sudo umount /dev/xvdf
umount: /data: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
通过下面命令查找是哪些进程在使用:
[centos@ip-172-31-10-1 log]$ lsof | grep '/data'
bash 11100 centos cwd DIR 202,80 4096 262146 /data/mongo/log
bash 11863 centos cwd DIR 202,80 4096 2 /data
bash 12107 centos cwd DIR 202,80 4096 262148 /data/mongo/db
lsof 13481 centos cwd DIR 202,80 4096 262146 /data/mongo/log
grep 13482 centos cwd DIR 202,80 4096 262146 /data/mongo/log
lsof 13483 centos cwd DIR 202,80 4096 262146 /data/mongo/log
然后将这些进程kill掉,就可以顺利umount卷或磁盘了~
以上是关于AWS-EC2自动挂载EBS卷或磁盘的主要内容,如果未能解决你的问题,请参考以下文章
在启动 Amazon EC2 Linux 实例时自动挂载 EBS 卷