一块云硬盘可以挂载到多台云主机上吗
- 当云硬盘为非共享盘时,只能挂载到一台云主机上。
- 当云硬盘为共享盘时,支持同时挂载最多16台云主机。
说明
共享盘是云硬盘的一种,可以同时挂载到多台云主机。
使用共享盘必须搭建共享文件系统或类似的集群管理系统。直接挂载至多台云主机无法实现共享功能,且存在数据覆盖风险。
云硬盘可以挂载至不同可用区的云主机吗
不可以。
云硬盘只可以挂载至同一个可用区的云主机。即使是共享云硬盘,也只能挂载在同一可用区的多台云主机上。
为什么登录到云主机后看不到已挂载的数据盘
Windows数据盘
问题现象:已经通过管理控制台将数据盘挂载至Windows云主机,但是登录到云主机后找不到数据盘。以Windows 2012为例:在“此电脑”下,和下图不同,看不到数据盘D盘。
图 正常状态下的显示
解决方法: 新的数据盘默认是没有分区和文件系统的,因此在资源管理器中不会显示,需要先手动执行初始化操作。
具体方法请参见初始化数据盘场景及磁盘分区形式介绍。
Linux数据盘
问题现象:已经通过管理控制台将数据盘挂载至Linux云主机,但是登录到云主机后找不到数据盘。
以CentOS 7.4为例:执行df -TH命令查看磁盘信息,正常回显如下:
[root@ecs-test-0001 ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 43G 1.9G 39G 5% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 9.1M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs tmpfs 398M 0 398M 0% /run/user/0
/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc
和回显示例不同的是,只能看到系统盘“/dev/vda1”,没有数据盘“/dev/vdb1”。
解决方法:
- 方法一:新的数据盘默认是没有分区和文件系统的,因此在磁盘信息中不会显示,需要先手动执行初始化操作。
具体方法请参见初始化数据盘场景及磁盘分区形式介绍。
- 方法二:如果云主机重启后,发现找不到数据盘,则可能是由于您未设置开机时自动挂载数据,重启之后没有挂载,因此查不到。请按照以下步骤修改:
a.执行以下命令,重新挂载数据盘。
mount 磁盘分区 挂载目录
命令示例:
mount /dev/vdb1 /mnt/sdc
重新挂载后,执行以下步骤设置开机自动挂载数据盘。
b.执行如下命令,查询磁盘分区的UUID。
blkid 磁盘分区
以查询磁盘分区“/dev/vdb1”的UUID为例:
blkid /dev/vdb1
回显类似如下信息:
[root@ecs-test-0001 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
表示“/dev/vdb1”的UUID。
c.执行以下命令,使用VI编辑器打开“fstab”文件。
vi /etc/fstab
按“i”,进入编辑模式。
d.将光标移至文件末尾,按“Enter”,添加如下内容。
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4
defaults 0 2
以内容上仅为示例,具体请以实际情况为准,参数说明如下:
- 第一列为UUID,此处填写b中查询到的磁盘分区的UUID。
- 第二列为磁盘分区的挂载目录,可以通过df -TH命令查询。
- 第三列为磁盘分区的文件系统格式, 可以通过df -TH命令查询。
- 第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。
- 第五列为Linux dump备份选项。
- 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。
- 1表示使用Linux dump备份。
- 第六列为fsck选项,即开机时是否使用fsck检查磁盘。
- 0表示不检验。
- 挂载点为(/)根目录的分区,此处必须填写1。
根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。
e.按“ESC”后,输入“:wq”,按“Enter”。
保存设置并退出编辑器。
执行以下步骤,验证自动挂载功能。
i.执行如下命令,卸载已挂载的分区。
umount 磁盘分区
命令示例:
umount /dev/vdb1
ii.执行如下命令,将“/etc/fstab”文件所有内容重新加载。
mount -a
iii.执行如下命令,查询文件系统挂载信息。
mount | grep 挂载目录
命令示例:
mount | grep /mnt/sdc
回显类似如下信息,说明自动挂载功能生效:
root@ecs-test-0001 ~]# mount | grep /mnt/sdc
/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
怎样为云主机增加数据盘
数据盘可以在购买云主机的时候购买,由系统自动挂载给云主机。也可以在购买了云主机之后,单独购买云硬盘并挂载给云主机。
- 对于Windows云主机而言:
- 如果您跟随云主机已经购买了数据盘,则需要登录云主机对数据盘进行初始化,初始化成功后可以看到数据盘(例如D盘)。
- 如果您没有跟随云主机购买数据盘,则需要先购买数据盘并挂载至云主机。然后登录云主机对数据盘进行初始化,初始化成功后可以看到数据盘(例如D盘)。
- 对于Linux云主机而言:
- 如果您跟随云主机已经购买了数据盘,则需要登录云主机对数据盘进行初始化,初始化成功,通过mount命令挂载后可以看到数据盘(例如dev/vdb1)。
- 如果您没有跟随云主机购买数据盘,则需要先购买数据盘并挂载至云主机。然后登录云主机对数据盘进行初始化,初始化成功,通过mount命令挂载后可以看到数据盘(例如dev/vdb1)
具体方法请参见初始化数据盘场景及磁盘分区形式介绍。
云硬盘不支持挂载至云主机怎么办
问题描述
云硬盘挂载至云主机时,无法挂载。
排查思路
以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。
表:排查思路
问题现象 | 可能原因及处理措施 |
---|---|
在“挂载磁盘”页面找不到目标云主机。 | 查看云硬盘和云主机是否位于同一可用区。 ISO镜像创建的云主机只建议用来装机,部分功能受限,不支持挂载云硬盘操作。 |
挂载按钮为灰色。 | 挂载的云主机数量已达到最大。 查看云硬盘是否已加入到复制对中。 |
挂载共享云硬盘提示操作系统类型不对。 | 解决方法请参考检查共享云硬盘挂载的多台云主机操作系统是否一致。 |
查看云硬盘和云主机是否位于同一可用区
问题现象: 单击“挂载”后,在“挂载磁盘”页面找不到目标云主机。
解决思路: 云硬盘只能挂载至同一区域内同一可用区的云主机,“挂载磁盘”页面的列表已筛选出符合条件的云主机。
- 不再需要云硬盘内数据,直接删除或退订即可,然后购买与云主机在同一个可用区的云硬盘进行挂载使用。
- 需要云硬盘内的数据,可通过以下方式在其他可用区创建一个具有相同数据的云硬盘。
a. 通过云硬盘创建备份。
图:创建备份
b. 再从备份创建新的云硬盘,创建过程中可以为云硬盘重新选择“可用区”,同时您也可以修改“磁盘类型”和“高级配置”等参数。
图:从备份创建云硬盘
c. 创建完成后,单击“挂载”,在“挂载磁盘”页面即可找到目标云主机。
挂载的云主机数量已达到最大
问题现象: 挂载按钮为灰色。
解决思路:
- 非共享云硬盘:单击挂载按钮提示“只有可用状态的磁盘才能挂载”。
非共享云硬盘只能挂载至一台云主机,状态为“正在使用”说明已挂载,您可以先卸载云硬盘使状态变为“可用”,然后挂载至目标云主机。
- 共享云硬盘:单击挂载按钮提示“共享盘最大挂载16个云主机”。
共享云硬盘最多可挂载至16台云主机,您可以根据业务情况,将云硬盘从某台云主机卸载,然后挂载至目标云主机。
查看云硬盘是否已加入到复制对中
问题现象: 挂载按钮为灰色,单击挂载按钮提示“加入复制对的磁盘不允许执行此操作”。
解决思路: 删除复制对后再进行挂载。
步骤 1 选择“存储 > 存储容灾服务”。
进入“存储容灾服务”页面。
步骤 2 找到云硬盘已经加入的保护组,点击保护组名称。
进入保护组详情页。
步骤 3 单击“复制对”页签。
检查“生产站点磁盘”列下的磁盘是否是目标磁盘。
步骤 4 确认无误后单击操作列下的“删除”。
步骤 5 复制对删除完成后,返回云硬盘列表,目标云硬盘已经可以挂载。
检查共享云硬盘挂载的多台云主机操作系统是否一致
问题现象: 单击“挂载”后,在“挂载磁盘”页面无法勾选目标云主机,提示“共享盘只能挂载到同一操作系统类型的云主机”。
解决思路: 出现该提示说明,共享云硬盘已经挂载的云主机操作系统与现在正在挂载的云主机操作系统类型不一致,请根据业务情况更换操作系统类型。
不同类型的磁盘可以挂载在同一个云主机上吗
可以。不同类型的云硬盘可以挂载在同一个云主机上,但是云硬盘和云主机需位于同一区域内的同一可用区。
Linux系统的云硬盘挂载至Windows系统后需如何处理
不建议将挂载至Linux系统云主机的云硬盘卸载后,重新挂载至Windows系统云主机;也不建议将Windows系统云主机上的云硬盘重新挂载至Linux系统云主机。
在这种情况下,由于文件系统不一致,可能导致磁盘无法显示。如果磁盘不显示,可以重新进行磁盘初始化和分区的操作。磁格式化盘会造成数据丢失,请提前对数据盘创建备份,避免数据丢失。
随云主机购买的系统盘或数据盘可以换挂载点吗
该场景仅讨论在原云主机上的挂载点切换。
- 随云主机购买的系统盘:卸载后,可以挂载至原云主机用作系统盘或数据盘。
说明每个云主机只能有一块系统盘,若原云主机已有新的系统盘,则无法挂载用作系统盘。
- 随云主机购买的数据盘:卸载后,只能挂载至原云主机用作数据盘,无法用作系统盘。
控制台与弹性云主机内部之间磁盘挂载点的对应关系
操作场景
登录弹性云主机查询磁盘设备信息,发现磁盘的设备名称与控制台上显示的挂载点不一致,不清楚磁盘具体挂载在哪个设备上或磁盘对应的逻辑卷标识。本节操作介绍如何根据控制台上显示的磁盘信息,查询该磁盘在弹性云主机内对应的设备名称。
在管理控制台查看云主机的磁盘标识
- 登录管理控制台。
- 选择“计算 > 弹性云主机”。
- 在弹性云主机列表栏,单击目标云主机的名称。
系统进入弹性云主机详情页。
- 选择“云硬盘”页签,并单击展开磁盘详情。
- 查看磁盘的“设备类型”和“设备标识”。
说明如果界面上当前未显示参数“设备标识”,请尝试关闭弹性云主机,并重新开机。
- KVM实例
- 如果“设备类型”为VBD,您可以使用SerialNumber或BDF查询磁盘挂载点。
(推荐)SerialNumber请参考使用SerialNumber查询磁盘标识(Windows)和使用SerialNumber查询磁盘挂载点(Linux)
BDF请参考使用BDF查询磁盘挂载点(Linux)(Windows操作系统不支持使用BDF查询磁盘标识。)
- 如果“设备类型”为SCSI,您可以使用wwn查询磁盘挂载点,请参考使用wwn查询磁盘标识(Windows)和使用wwn查询磁盘挂载点(Linux)。
使用SerialNumber查询磁盘标识(Windows)
如果控制台上显示的是SerialNumber,有以下两种方法查看对应的设备名称。
cmd命名查询方式:
- 在Windows操作系统中以管理员身份启动cmd,并执行以下命令。
wmic diskdrive get serialnumber
wmic path win32_physicalmedia get SerialNumber
wmic path Win32_DiskDrive get SerialNumber
说明SerialNumber是磁盘UUID的前20位。
例如:控制台上VBD盘对应的SerialNumber为“97c876c0-54b3-460a-b”,使用以下任一命令查询磁盘SerialNumber。
wmic diskdrive get serialnumber
wmic path win32_physicalmedia get SerialNumber
wmic path Win32_DiskDrive get SerialNumber
回显信息如下所示:
图:获取磁盘SerialNumber
- 执行以下命令查看SerialNumber对应的磁盘。
wmic diskdrive get Name, SerialNumber
图;查看SerialNumber对应的磁盘
PowerShell命名查询方式:
- 在Windows操作系统中以管理员身份启动PowerShell。
- 执行以下命令查看逻辑卷对应的磁盘。
- Windows 2012及以上版本的操作系统
i. 执行以下命令查看逻辑卷对应的磁盘
Get-CimInstance -ClassName Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl
如下图所示查询到的逻辑卷C对应的磁盘是Disk 0
ii. 执行以下命令查看SerialNumber与磁盘的对应关系。
Get-Disk |select Number, SerialNumber
如下图所示SerialNumber“97c876c0-54b3-460a-b”对应的是Disk 0。
图:查看逻辑卷对应的磁盘
- Windows 2012以下版本的操作系统
iii. 执行以下命令查看逻辑卷对应的磁盘
Get-WmiObject -Class Win32_PhysicalMedia |select Tag, Serialnumber
iv. 执行以下命令查看SerialNumber与磁盘的对应关系。
Get-WmiObject -Class Win32_LogicalDiskToPartition |select Antecedent, Dependent |fl
使用SerialNumber查询磁盘挂载点(Linux)
如果控制台上显示的是SerialNumber,您可以使用以下任一命令查看对应的设备名称。
udevadm info --query=all --name=/dev/xxx | grep ID_SERIAL
# ll /dev/disk/by-id/ *
说明SerialNumber是磁盘UUID的前20位。
例如:控制台上VBD盘对应的SerialNumber为“62f0d06b-808d-480d-8”,可以使用以下任一命令查询设备名称。
udevadm info --query=all --name=/dev/vdb | grep ID_SERIAL
# ll /dev/disk/by-id/ *
回显信息如下所示:
[root@ecs-ab63 ~]# udevadm info --query=all --name=/dev/vdb | grep ID_SERIAL
E: ID_SERIAL=62f0d06b-808d-480d-8
[root@ecs-ab63 ~]# ll /dev/disk/by-id/*
lrwxrwxrwx 1 root root 9 Dec 30 15:56 /dev/disk/by-id/virtio-128d5bfd-f215-487f-9 -> ../../vda
lrwxrwxrwx 1 root root 10 Dec 30 15:56 /dev/disk/by-id/virtio-128d5bfd-f215-487f-9-part1 -> ../../vda1
lrwxrwxrwx 1 root root 9 Dec 30 15:56 /dev/disk/by-id/virtio-62f0d06b-808d-480d-8 -> ../../vdb
系统回显即为磁盘设备名称(即“/dev/vdb”)。
使用BDF查询磁盘挂载点(Linux)
- 执行以下命令,使用BDF查看对应的设备名称。
ll /sys/bus/pci/devices/ BDF磁盘标识 * /virtio /block* *
例如:控制台上VBD盘对应的BDF磁盘标识为“0000:02:02.0”,执行以下命令查询设备名称。
- ll /sys/bus/pci/devices/0000:02:02.0/virtio /block* *
回显信息如下所示:
[root@ecs-ab63 ~]# ll /sys/bus/pci/devices/0000:02:02.0/virtio*/block
total 0
drwxr-xr-x 8 root root 0 Dec 30 15:56 vdb
系统回显即为磁盘设备名称(即“/dev/vdb”)。
使用wwn查询磁盘标识(Windows)
- 根据在管理控制台查看云主机的磁盘标识的步骤在控制台查询磁盘标识。
- 手动转换wwn号。
例如查询到的wwn号为:688860300003252ffa16520d39517815
a. 截取倒数的第21位-倒数17位,并标记为A1,本例中A1为 3252f 。
b. 将A1从16位数字转换为10位数字,标记为B1。
3252f (16)> 206127(10)
本例中B1为206127。
- 在Windows操作系统中以管理员身份启动PowerShell。
- 执行以下命令。
Get-CimInstance Win32_DiskDrive | Select-Object DeviceID, SerialNumber
- 在回显信息中找到SerialNumber是以B1结尾的磁盘即为对应的wwn对应的磁盘。
图:查询B1结尾的磁盘信息
使用wwn查询磁盘挂载点(Linux)
- 以root帐号登录弹性云主机。
- 执行以下命令,查询磁盘设备名称。
ll /dev/disk/by-id |grep ** WWN |grep scsi-3
例如:在控制台查询到的wwn号为6888603000008b32fa16688d09368506,那么执行命令如下。
ll /dev/disk/by-id |grep 6888603000008b32fa16688d09368506|grep scsi-3
回显信息如下:
[root@host-192-168-133-148 block]# ll /dev/disk/by-id/ |grep 6888603000008b32fa16688d09368506 |grep scsi-3
lrwxrwxrwx 1 root root 9 May 21 20:22 scsi-36888603000008b32fa16688d09368506 -> ../../sda