挂载云盘
登录 控制台。
在页面顶部导航栏点击存储,并在顶部下面的二级标签选择`云盘(EBS)`,进入我的云盘列表。
选择一个云盘并点击 `...` 列展开云盘操作列表,选择`挂载到 DC2`。
在弹出的挂载框中选择要挂载到的 DC2(注:只能挂载到与EBS相同可用区的DC2) ,点击确认。
如果是全新云盘,从未挂载过,则需要先 `格式化云盘`,才能开始使用该云盘,如果之前已经格式化过,则可直接登录 DC2 使用该云盘。
格式化云盘
全新云盘需要格式化后才能使用,需按如下步骤操作。下文中,以 centos-7.3 DC2 实例为例,其他发行版可能命令有细微差别。
查看挂载之前DC2的块设备列表。
查看挂载之后DC2的块设备列表。
vdb 即是新挂载的云盘。
在云盘上创建第一个分区。
对设备运行 fdisk,进入分区程序。
[dc2-user@10-254-136-43 ~]$ sudo fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.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 Building a new DOS disklabel with disk identifier 0xc14bbbbb. Command (m for help):
输入 n,并按回车,创建新分区。
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p):
输入 p,并按回车。只要创建 4 个以下的分区,就选 p。
选择创建的分区号,因为我们是创建第一个分区,所以用默认值就行,直接按回车,按回车后显示如下:
Select (default p): p Partition number (1-4, default 1): First sector (2048-10485759, default 2048):
输入分区的开始位置所在的扇区号。因为分区表需要占一定的空间,另外分区开始的位置需要对齐到一定的字节,而默认值 2048 把这些都考虑进去了,所以用默认值即可,直接按回车,按回车后显示如下:
First sector (2048-10485759, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
输入分区的结束位置所在的扇区号。因为我们只创建一个分区,所以让分区占满整个磁盘空间,分区结束需设在磁盘最后一个扇区,继续用默认值,直接按回车,按回车后显示如下:
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759): Using default value 10485759 Partition 1 of type Linux and of size 5 GiB is set Command (m for help):
输入 wq,把分区表写入磁盘,并退出。
Command (m for help): wq The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
lsblk 确认分区成功。
[dc2-user@ip ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part / vdb 253:16 0 5G 0 disk └─vdb1 253:17 0 5G 0 part
如果输出中包含 vdb1,说明分区成功。
用下面命令在新分区上创建一个 xfs 文件系统。根据您的需求,可把下面命令中 xfs 换成 ext4或ext3 以创建 ext4 或 ext3 文件系统。如果磁盘容量较大,创建文件系统可能需要较长时间,请耐心等待。
dc2-user@ip:~$ sudo mkfs.xfs /dev/vdb1 meta-data=/dev/vdb1 isize=512 agcount=4, agsize=327615 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0 data = bsize=4096 blocks=1310459, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
将磁盘挂载到 linux 某个目录下,以使得它可以访问。
创建一个磁盘需要挂载的目录,我们假设挂载到 /data 下。
dc2-user@ip:~$ sudo mkdir /data
如果只是暂时挂载,执行以下命令。
dc2-user@ip:~$ sudo mount /dev/vdb1 /data
此操作在虚机重启后需要重新执行以上命令方可再次生效。
如需永久生效,执行步骤c-g。
查看磁盘分区的 UUID,以备挂载时使用。
dc2-user@ip:~$ ls -al /dev/disk/by-uuid | grep vdb1 lrwxrwxrwx 1 root root 10 Feb 22 17:52 6f24c2f5-b646-4e4e-a0dc-63b72929453e -> ../../vdb1
这里 `6f24c2f5-b646-4e4e-a0dc-63b72929453e` 就是 vdb1 分区的 UUID。
备份 fstab 文件。
dc2-user@10-254-99-45:~$ sudo cp /etc/fstab /etc/fstab.orig
编辑 fstab 文件,添加挂载项。
dc2-user@10-254-99-45:~$ sudo vim /etc/fstab dc2-user@10-254-99-45:~$ cat /etc/fstab LABEL=cloudimg-rootfs / ext4 defaults 0 0 UUID=6f24c2f5-b646-4e4e-a0dc-63b72929453e /data xfs defaults 0 0
其中 `UUID` 那一行是这次操作添加的,这里 `6f24c2f5-b646-4e4e-a0dc-63b72929453e` 就是在 b 步骤得到的 vdb1 的分区 UUID。
运行下列命令使 fstab 文件生效。
dc2-user@ip:~$ sudo mount -a dc2-user@ip:~$
没有任何输出代表挂载成功,如果报错,则需调查原因并修正 fstab 文件,如果无法确定错误原因,您总是可以用以下命令回滚 fstab 文件。
dc2-user@ip:~$ sudo mv /etc/fstab.orig /etc/fstab
修改挂载目录的拥有者以便他人可以访问。
dc2-user@ip:~$ sudo chown dc2-user /data
然后就可以在 /data 目录下创建文件,读写文件了。
注意:针对修改/etc/fstab文件的永久挂载操作,如果在页面卸载磁盘后没有删除文件中相应的挂载记录,重启虚机会导致系统无法正常启动。
卸载云盘
执行 lsblk 查看云盘挂载情况。
[dc2-user@ip ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part vdb 253:16 0 50G 0 disk └─vdb1 253:17 0 5G 0 part /data
这里显示的 vdb 设备就是新挂载的云盘,分区vdb1 已经 mount 到 /data。
在 DC2里将云盘 umount
umount /dev/vdb1
登录 控制台。
在页面顶部导航栏一级菜单点击存储,并在下面的二级标签选择`云盘(EBS)`,进入我的云盘列表。
选择一个云盘并点击 `...` 列展开云盘操作列表,选择`卸载云盘`。
按弹出的确认框操作。
注意:如果在/etc/fstab写入了挂载点信息,卸载云盘后一定要在/etc/fstab在中将相应的记录删除掉,否则重启后会导致系统无法正常启动。
删除云盘
如果您不再需要云盘,可以删除云盘,删除后,云盘数据将无法恢复。
如果云盘已挂载到 DC2,按 `卸载云盘`操作先卸载云盘。
登录 控制台。
在页面顶部导航栏点击存储,并在顶部下面的二级标签选择`云盘(EBS)`,进入我的云盘列表。
选择一个云盘并点击 `...` 列展开云盘操作列表,选择`删除`。
按弹出的确认框操作。
扩容云盘
随着业务增长,您可能需要扩容(即增加容量)云盘以存放更多的数据,可以顺序执行以下两个步骤完成扩容(注:如果云盘里已经有数据,请先打个快照备份数据,以防止因误操作而导致已有的数据损坏):
在控制台上操作扩容云盘。
登录DC2实例完成扩容。
步骤 1. 在控制台上操作扩容云盘
登录 控制台。
在页面顶部导航栏点击存储,并在顶部下面的二级标签选择`云盘(EBS)`,进入我的云盘列表。
选择一个云盘并点击 `...` 列展开云盘操作列表,选择`扩容`。
在弹出的扩容框中选择扩容到的容量,点击确认。
在控制台上扩容完毕后,分以下情况:
如果云盘已经挂载到 DC2 实例,则需要登录实例完成扩容。
如果云盘还未挂载到 DC2 实例,则需先挂载云盘,然后根据不同情况操作:
全新云盘,并未格式化过,则可经过`格式化云盘`后直接使用。
云盘之前格式化过,则需要登录实例完成扩容。
步骤 2. 登录实例完成扩容
本步骤以具有一个分区 vdb1 的云盘 vdb 的 centos -7.3 DC2 实例为例介绍实例内扩容步骤。
使用 lsblk 查找需要扩容的云盘。
dc2-user@10-254-99-45:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part / vdb 253:16 0 50G 0 disk └─vdb1 253:17 0 5G 0 part /data
vdb 是我们需要扩容的云盘,并已经在控制台做过扩容操作。
卸载 vdb1。
dc2-user@ip:~$ sudo umount /data
没有任何输出表示卸载成功。
记录分区的 uuid 以便之后步骤中使用。
dc2-user@ip:~$ ls -al /dev/disk/by-uuid/ | grep vdb1 lrwxrwxrwx 1 root root 10 Feb 22 17:52 6f24c2f5-b646-4e4e-a0dc-63b72929453e -> ../../vdb1
使用 fdisk 扩容 vdb1 分区。
运行 fdisk 进入磁盘分区。
dc2-user@ip:~$ sudo fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
输入 p,打印分区表。
Command (? for help): p Disk /dev/vdb: 53.7 GB, 53687091200 bytes, 104857600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x1e7b3827 Device Boot Start End Blocks Id System /dev/vdb1 2048 10485759 5241856 83 Linux
把打印的分区表内容复制下来保存,之后会用到,由分区表可以看出,磁盘大小为 53.7 GB,说明控制台的操作有效果,但是分区 1 只有 5GB 大小,因此,我们接下来要先扩展分区 1 的大小。
输入 d 并按回车,删除原分区,删除分区不会造成分区内数据丢失。
Command (m for help): d Selected partition 1 Partition 1 is deleted Command (m for help):
输入 n 并按回车,创建新的分区。
如果之前只有 1 个分区,如本例,只需在选择分区开始扇区,结束扇区时使用默认值,就可以扩展分区 1 的大小。
Command (? for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): Using default response p Partition number (1-4, default 1):First sector (2048-104857599, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): Using default value 104857599 Partition 1 of type Linux and of size 50 GiB is set Command (m for help):
如果之前有多个分区,则在每一步,输入您在 b 步骤记录的分区表对应的值,如各分区的起始扇区,结束扇区,对于最后一个分区的结束扇区,使用默认值,以扩展最后一个分区的大小。
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): Using default response p Partition number (1-4, default 1):First sector (2048-104857599, default 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): 8191 Partition 1 of type Linux and of size 3 MiB is set Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p):Using default response p Partition number (2-4, default 2):First sector (8192-104857599, default 8192): 8192 Last sector, +sectors or +size{K,M,G} (8192-104857599, default 104857599): Using default value 104857599 Partition 2 of type Linux and of size 50 GiB is set Command (m for help):
这里,假设之前有两个分区,第一个分区是起始扇区 2048,结束扇区 8191。第二个分区结束扇区使用默认值 104857566(104857566*512 bytes=50GB),以扩展其大小。
输入 wq,保存修改结果并退出。
Command (m for help): wq The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
检查文件系统是否有报错。
查看文件系统类型,根据文件系统类型,执行 b 或 c 操作。
dc2-user@ip:~$ sudo file -sL /dev/vdb1 /dev/vdb1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
由输出可见,文件系统类型为 xfs。
xfs 文件系统。
dc2-user@ip:~$ sudo xfs_repair /dev/vdb1 Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan and clear agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 3 Phase 5 - rebuild AG headers and trees... - reset superblock... Phase 6 - check inode connectivity... - resetting contents of realtime bitmap and summary inodes - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify and correct link counts... done
注:如果系统中没有 `xfs_repair` 命令,则需要安装 `xfsprogs` 包。
ext3 或 ext4 文件系统。
dc2-user@ip:~$ sudo e2fsck -f /dev/vdc e2fsck 1.42.13 (17-May-2015) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vdc: 12/327680 files (0.0% non-contiguous), 55903/1310720 blocks
挂载分区。
如果磁盘之前已经照`格式化云盘`操作,曾经修改 fstab 配置过 vdb1 的挂载,则只需如下操作:
dc2-user@ip:~$ sudo mount -a
否则,照着 `格式化云盘` 第 5 步,修改 fstab 以将 vdb1 挂载到系统中。
根据磁盘分区上的文件系统不同,使用不同的工具扩容文件系统。
查看文件系统类型。
dc2-user@ip:~$ sudo file -sL /dev/vdb1 /dev/vdb1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
由输出可见,文件系统类型为 xfs。
根据文件系统类型选择以下步骤:
xfs 文件系统。
dc2-user@ip:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 488M 0 488M 0% /dev tmpfs 100M 5.7M 94M 6% /run /dev/vda1 20G 1.2G 19G 6% / tmpfs 497M 0 497M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 497M 0 497M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1001 /dev/vdb1 5.0G 33M 5.0G 1% /data dc2-user@ip:~$ sudo xfs_growfs -d /data meta-data=/dev/vdb1 isize=512 agcount=4, agsize=327615 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1 spinodes=0 data = bsize=4096 blocks=1310459, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 1310459 to 13106939
ext3 或 ext4。
dc2-user@ip:~$ sudo resize2fs /dev/vdc resize2fs 1.42.13 (17-May-2015) Resizing the filesystem on /dev/vdc to 13107200 (4k) blocks. The filesystem on /dev/vdc is now 13107200 (4k) blocks long.
运行 `df -h` 确认扩容成功。
dc2-user@ip:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 488M 0 488M 0% /dev tmpfs 100M 5.7M 94M 6% /run /dev/vda1 20G 1.2G 19G 6% / tmpfs 497M 0 497M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 497M 0 497M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/1001 /dev/vdb1 50G 34M 50G 1% /data /dev/vdc 50G 17M 47G 1% /mnt
其中 vdb 是 xfs,vdc 是 ext4。
创建快照
您可以定期为云盘创建快照。快照是以增量方式保存的,新快照中仅保存设备上在保存上次快照之后更改的数据块。创建快照时云盘必须停止IO,并且最好刷新一下EBS上的文件系统buffer。
进入存储一级菜单查看云盘的可操作选项。
填写快照名称,点击`立即创建`,完成快照创建。
删除快照
选择`计算`一级菜单并点击`快照`进入`我的快照列表`,选择需要删除的快照并点击该快照名进入详情页。
点击`...`列展开快照操作列表,选择`删除快照`。
输入快照名字,点击`确定`,删除快照。
还原到快照
选择`计算`一级菜单并点击`快照`进入`我的快照列表`,选择需要删除的快照并点击该快照名进入详情页。
点击`...`列展开快照操作列表,选择`还原`。
点击确定,回滚并重启实例。
从快照创建云盘
选择`计算`一级菜单并点击`快照`进入`我的快照列表`,选择需要删除的快照并点击该快照名进入详情页。
点击`...`列展开快照操作列表,选择`创建云盘`。
按照`创建云盘`的步骤依次进行。
当您是Windows系统时,请参考以下步骤。
格式化云盘(Windows)
下文以 Windows Server 2008 R2 中文版实例为例描述 Windows 操作系统格式化云盘的步骤,其他版本或特殊情况下操作有差别。
使用控制台或远程桌面连接登录 Windows 实例。
在屏幕左下角选择服务器管理器,打开存储->磁盘管理,如果”初始化磁盘”对话框自动弹出,选择合适的磁盘分区形式,点击确定初始化磁盘。
如果磁盘处于脱机状态,在脱机磁盘的灰色区域单机鼠标右键,选择联机。
如果磁盘显示“未初始化”,右键选择初始化磁盘,根据向导完成初始化。
在磁盘白色区域右键选择新建简单卷,根据向导完成新建。
在 Windows 资源管理器中可以找到新增的 D 盘。
卸载云盘(Windows)
在Windows操作系统下,建议首先暂停对该磁盘的读写操作,并从磁盘管理中对磁盘执行脱机操作,避免数据丢失。
在存储->我的云盘(EBS)列表中找到对应的磁盘,选择卸载磁盘。
扩容云盘(Windows)
步骤 1. 与 Linux 相同
步骤 2. 登录实例完成扩容
以 Windows Server 2008 R2 中文版为例,把云盘从 20G 扩容到 50G。
打开服务器管理器,右键点击“磁盘管理”,刷新或重新扫描磁盘。
(推荐)右键选择“转换到动态磁盘”,根据向导完成动态转换。
右键点击“新加卷(D:)”选择扩展卷,根据扩展卷向导完成磁盘的扩容。