在AWS的EC2 Linux 环境里面添加硬盘Volume和在Vmware的虚拟机里面的操作基本一样,除了AWS和Vmware的操作界面不同,linux环境的命令基本是一模一样的。
基本步骤如下:创建Volume,Attach到虚拟机上,然后在虚拟机里面进行扫描,格式化磁盘,mount到某个文件夹下面,更改fstab文件以便开机自动加载。
创建Volume
点击 Create Volume 就出现了创建向导。
EBS里面有3种 SSD就是最常见的适合中小规模的; Provisioned IOPS可以固定IOPS,适合高速读写的程序,比如数据库硬盘;Magnetic是收费最低,IOPS也最低的,这里我就选择Magnetic好了;
另外要注意,创建的Availability Zone必须和EC2 虚拟机在同一个区,因为一个AZ相当于一个数据中心,为了保证速度,不可能把硬盘和虚拟机放在不同的数据中心。
Snapshot ID可以输入之前创建的快照或者公共的快照ID,这样生成的硬盘可以有之前创建好的数据,这里我创建的是一个空白的磁盘,所以就不需要他了
加密选项暂时用不上,就不赘述了
我创建好了一个1G的硬盘
然后Attach到EC2的实例去
注意他的警告信息, 一般默认的linux系统,硬盘的显示都是 sda, sdf等等,但是EC2的Linux AMI里面做了一个Symlink的映射,表面看起来也是这样,但是真正的名字是 xvda,xvdf
我们执行 sudo fdisk -l 来查看加载后的磁盘, 看见木有,真正的名字是xvda1和 xvdf
在EC2的管理界面看看,名字还是显示的是sda1,sdf
我们来/dev 看看 sda1,sdf,xvda1,xvdf都在
但是确认一下真正的路径就知道,其实是sda* 映射到xvd*
来查看一下mount了哪些设备,可以发现新添加的硬盘还没有显示出来(因为我们还没有mount)
也可以用df -h 命令查看
接下来格式化我们的新硬盘 sudo mkfs -t ext4 /dev/xvdf
创建一个目录作为加载点,加载硬盘
再查看一下发现已经mount好了
这个时候已经可以用了,不过如果重启服务器,加载的硬盘就没了,所以我们还需要修改fstab文件,保证每次启动的时候都会自动加载这个新硬盘
添加最下面的一行
来测试一下,先卸载当前的新硬盘,然后执行 sudo mount -a,会自动加载fstab里面的设备
在新硬盘里面随手创建个文件看看
实验做完以后,要删除硬盘怎么办?
首先注释掉fstab里面添加的记录
然后umount硬盘
最后在EC2管理界面里面Detach掉Volume
然后删掉Volume就好了