云服务器内容精选

  • 操作场景 当云服务器的云硬盘空间不足时,会影响云服务器的运行速度,降低使用体验。此时你可以通过以下两种途径来清理云硬盘空间。 使用系统自带云硬盘清理工具清理云硬盘空间 使用控制面板卸载不需要的程序 本文以操作系统Windows 2016的云服务器为例,介绍了清理云硬盘空间的常用操作。同时建议在日常使用中养成良好的云硬盘使用习惯,定期清理冗余文件,有助于您节省云硬盘空间。 定期将不常用的文件压缩保存,节省云硬盘空间。 定期使用云硬盘清理工具清理云硬盘空间,删除不需要的文件,并定期清理回收箱。 卸载不需要的程序,释放云硬盘空间。
  • 排查思路 以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。 如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。 表1 排查思路 问题现象 可能原因及处理措施 在“挂载磁盘”页面找不到目标云服务器。 查看云硬盘和云服务器是否位于同一可用区。 ISO镜像创建的云服务器只建议用来装机,部分功能受限,不支持挂载云硬盘操作。 挂载按钮为灰色。 挂载的云服务器数量已达到最大。 查看云硬盘是否已加入到复制对。 挂载共享云硬盘提示操作系统类型不对。 解决方法请参考检查共享云硬盘挂载的多台云服务器操作系统是否一致。
  • 查看云硬盘和云服务器是否位于同一可用区 问题现象:单击“挂载”后,在“挂载磁盘”页面找不到目标云服务器。 解决思路:云硬盘只能挂载至同一区域内同一可用区的云服务器,“挂载磁盘”页面的列表已筛选出符合条件的云服务器。 不再需要云硬盘内数据,直接删除或退订即可,然后购买与云服务器在同一个可用区的云硬盘进行挂载使用。 需要云硬盘内的数据,可通过以下方式在其他可用区创建一个具有相同数据的云硬盘。 通过云硬盘创建备份。 图1 创建备份 再从备份创建新的云硬盘,创建过程中可以为云硬盘重新选择“可用区”,同时您也可以修改“磁盘类型”和“高级配置”等参数。 图2 从备份创建云硬盘 创建完成后,单击“挂载”,在“挂载磁盘”页面即可找到目标云服务器。
  • 挂载的云服务器数量已达到最大 问题现象:挂载按钮为灰色。 解决思路: 非共享云硬盘:单击挂载按钮提示“只有可用状态的磁盘才能挂载”。 非共享云硬盘只能挂载至一台云服务器,状态为“正在使用”说明已挂载,您可以先卸载云硬盘使状态变为“可用”,然后挂载至目标云服务器。 共享云硬盘:单击挂载按钮提示“共享盘最大挂载16个云服务器”。 共享云硬盘最多可挂载至16台云服务器,您可以根据业务情况,将云硬盘从某台云服务器卸载,然后挂载至目标云服务器。 卸载云硬盘的时候,您的数据是否会丢失,具体可参见卸载云硬盘时数据会丢失吗。 HECS服务器类型中的L实例不支持卸载云硬盘。
  • 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
  • 排查思路 表1 原因分析 操作系统 可能原因 处理措施 Linux 新的数据盘默认是没有分区和文件系统的,因此在磁盘信息中不会显示,需要先手动执行初始化操作。 如果云服务器重启后,发现找不到数据盘,则可能是由于您未设置开机时自动挂载数据,重启之后没有挂载,因此查不到。 Linux数据盘 Windows 新的数据盘默认是没有分区和文件系统的,因此在资源管理器中不会显示,需要先手动执行初始化操作。 Windows数据盘
  • 云硬盘可以挂载至不同可用区的云服务器吗 不可以。 云硬盘只可以挂载至同一个可用区的云服务器。即使是共享云硬盘,也只能挂载在同一可用区的多台云服务器上。 如果您的云硬盘和云服务器不在同一可用区,建议如下: 云硬盘无数据或不再需要盘内数据。 删除或退订云硬盘,然后购买云服务器同一可用区内的云硬盘即可。 删除云硬盘请参见删除云硬盘。 退订云硬盘请参见退订包年包月的云硬盘。 需要保留云硬盘内的数据。 可以通过云备份服务创建云硬盘备份,再使用备份创建新的云硬盘,在配置云硬盘信息时,选择云服务器所在可用区即可。具体操作请参见创建云硬盘备份和使用备份创建新云硬盘。 父主题: 云硬盘挂载问题
  • Linux系统的云硬盘挂载至Windows系统后需如何处理 不建议将挂载至Linux系统云服务器的云硬盘卸载后,重新挂载至Windows系统云服务器;也不建议将Windows系统云服务器上的云硬盘重新挂载至Linux系统云服务器。 在这种情况下,由于文件系统不一致,可能导致磁盘无法显示。如果磁盘不显示,可以重新进行磁盘初始化和分区的操作。磁格式化盘会造成数据丢失,请提前对数据盘创建备份,避免数据丢失。 父主题: 云硬盘挂载问题
  • 方法二:使用parted命令查看分区形式和文件系统 执行以下命令,查看云服务器挂载的所有磁盘情况。 lsblk 回显类似如下信息: [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk └─vda1 253:1 0 40G 0 part / vdb 253:16 0 150G 0 disk └─vdb1 253:17 0 100G 0 part /mnt/sdc 本示例中数据盘“/dev/vdb”扩容前已有分区“/dev/vdb1”,将数据盘扩容50GiB后,新增的容量还未划分磁盘分区,因此“/dev/vdb”显示150GiB,“/dev/vdb1”显示100GiB。 如果执行了lsblk,发现磁盘“/dev/vdb”没有分区,针对这种没有分区的磁盘,扩容后的容量可能无法正常使用,解决方法请参见Linux系统扩容数据盘时,如何扩展未分区磁盘文件系统。 执行以下命令,指定一块磁盘,然后输入“p”,查看磁盘的分区形式。 parted 磁盘 以查看“/dev/vdb”的分区形式为例: parted /dev/vdb 回显类似如下信息: [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? Fix/Ignore/Cancel? Fix Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600 blocks) or continue with the current setting? Fix/Ignore? Fix Model: Virtio Block Device (virtblk) Disk /dev/vdb: 161GiB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 107GiB 107GiB ext4 test (parted) “Partition Table”表示当前磁盘的分区形式,“Partition Table:msdos”表示磁盘分区形式为MBR,“Partition Table:gpt”表示磁盘分区形式为GPT,“Partition Table:loop”表示磁盘分区形式为整盘分区。 如果系统出现以下Error,请输入“Fix”。 Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? GPT分区表信息存储在磁盘开头,为了减少分区表损坏的风险,同时在磁盘末尾会备份一份。当磁盘容量扩大后,末尾位置也会随之变化,因此需要根据系统提示输入“Fix”,将分区表信息的备份文件挪到新的磁盘末尾位置。 如果系统出现以下Warning,请输入“Fix”。 Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600 blocks) or continue with the current setting? Fix/Ignore? Fix 根据系统提示输入“Fix”,系统会自动将磁盘扩容部分的容量设置为GPT。 查看完成后,输入“q”,退出parted模式。
  • 方法一:使用fdisk命令查看分区形式和文件系统 执行以下命令,查看云服务器挂载的所有磁盘情况。 lsblk 回显类似如下信息: [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk └─vda1 253:1 0 40G 0 part / vdb 253:16 0 150G 0 disk └─vdb1 253:17 0 100G 0 part /mnt/sdc 本示例中数据盘“/dev/vdb”扩容前已有分区“/dev/vdb1”,将数据盘扩容50GiB后,新增的容量还未划分磁盘分区,因此“/dev/vdb”显示150GiB,“/dev/vdb1”显示100GiB。 如果执行了lsblk,发现磁盘“/dev/vdb”没有分区,针对这种没有分区的磁盘,扩容后的容量可能无法正常使用,解决方法请参见Linux系统扩容数据盘时,如何扩展未分区磁盘文件系统。 执行以下命令,查看当前磁盘分区的分区形式。 fdisk -l 回显类似如下信息: [root@ecs-test-0001 ~]# fdisk -l Disk /dev/vda: 42.9 GiB, 42949672960 bytes, 83886080 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: 0x000bcb4e Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886079 41942016 83 Linux Disk /dev/vdb: 161.1 GiB, 161061273600 bytes, 314572800 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: 0x38717fc1 Device Boot Start End Blocks Id System /dev/vdb1 2048 209715199 104856576 83 Linux “system”为“Linux”表示分区形式为MBR。“system”为“GPT”表示分区形式为GPT。 如果回显中没有列出所有的磁盘分区,和1中的信息不符合。可能原因是:磁盘已有分区为GPT,并且扩容后存在未分配分区的空间,此时使用fdisk -l无法查看所有分区的信息,请参考方法二:使用parted命令查看分区形式和文件系统重新确认磁盘分区形式和文件系统。 如果回显中列出了所有的磁盘分区,和1中的信息符合,则继续执行以下操作。 执行以下命令,查看磁盘分区的文件系统格式。 blkid 磁盘分区 命令示例: blkid /dev/vdb1 [root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" “TYPE”为“ext4”:表示为/dev/vdb1的文件系统是ext4。 执行以下命令,确认文件系统的状态。 ext*:e2fsck -n 磁盘分区 xfs:xfs_repair -n 磁盘分区 以“ext4”为例: e2fsck -n /dev/vdb1 回显类似如下信息: [root@ecs-test-0001 ~]# e2fsck -n /dev/vdb1 e2fsck 1.42.9 (28-Dec-2013) Warning! /dev/vdb1 is mounted. Warning: skipping journal recovery because doing a read-only filesystem check. /dev/vdb1: clean, 11/6553600 files, 459544/26214144 blocks 文件系统状态为clean表示状态正常,如果不是clean,请先修复问题后执行扩容操作。
  • 云硬盘扩容时需要先卸载吗 扩容操作分为以下两部分: 通过管理控制台扩容云硬盘的存储容量,主要情况如下: 共享云硬盘扩容前需要先卸载,当处于“可用”状态后,才可以扩容。 非共享云硬盘可以在不卸载的情况下扩容,有以下约束限制: 云硬盘状态为“正在使用”,并且云硬盘所挂载的云服务器状态必须为“运行中”或者“关机”状态。 扩容“正在使用”的云硬盘对云硬盘所挂载的云服务器操作系统有要求,仅部分操作系统支持。 扩容状态为“正在使用”的云硬盘时,对云硬盘所挂载的云服务器操作系统有要求,具体可参见扩容云硬盘容量。 登录云服务器对云硬盘执行扩容后操作,即将新增划分至原有分区内,或者为新增容量分配新的分区。 Windows:无论哪种扩容后操作,此处均不涉及卸载操作。 Linux: 将新增容量划分至原有分区内,即扩大已有分区:需要先通过umount命令将原有分区卸载后,再执行扩容后处理。 为新增容量分配新的分区,即新增分区:不影响原有分区挂载情况,不需要卸载原有分区。 父主题: 云硬盘扩容问题
  • 系统盘和数据盘有什么区别 系统盘:云服务器中安装操作系统的云硬盘,类似于电脑中的C盘。 系统盘在购买云服务器时自动购买并挂载,无法单独新购买。系统盘的最大容量为1024 GiB。 数据盘:云服务器中用来存储数据的云硬盘,用来存放除操作系统之外的其他数据,类似于电脑中的D盘、E盘、F盘等。 数据盘可以在购买云服务器的时候购买,由系统自动挂载给云服务器。也可以在购买了云服务器之后,单独新购买云硬盘并挂载给云服务器。数据盘的最大容量为32768 GiB。 当您的业务数据量较小时,购买云服务器时自动购买的系统盘如果能满足要求,仅购买系统盘即可。当您的业务数据量较大时,建议您根据需求购买数据盘。 如果业务系统前期已经做好规划,业务系统中磁盘的读写路径已不支持修改或修改较为麻烦,建议您根据业务系统需求购买数据盘。 父主题: 云硬盘通用问题
  • 容量大于2TiB的云硬盘使用fdisk工具初始化后超过2TiB无法显示该怎么办 当云硬盘容量大于2TiB时,不能使用fdisk工具,否则超过2TiB的部分将无法显示。 此时,建议您使用parted分区工具重新分区。同时由于MBR分区形式支持的磁盘最大容量为2TiB,则磁盘容量大于2TiB时,分区形式请采用GPT。 云硬盘初始化方法请参见初始化数据盘场景及磁盘分区形式介绍。 父主题: 云硬盘容量问题
  • 怎样为云服务器增加数据盘(例如D盘或者dev/vdb1) 数据盘可以在购买云服务器的时候购买,由系统自动挂载给云服务器。也可以在购买了云服务器之后,单独新购买云硬盘并挂载给云服务器。 对于Windows云服务器而言: 如果您跟随云服务器已经购买了数据盘,则需要登录云服务器对数据盘进行初始化,初始化成功后可以看到数据盘(例如D盘)。 如果您没有跟随云服务器购买数据盘,则需要先购买数据盘并挂载至云服务器。然后登录云服务器对数据盘进行初始化,初始化成功后可以看到数据盘(例如D盘)。 对于Linux云服务器而言: 如果您跟随云服务器已经购买了数据盘,则需要登录云服务器对数据盘进行初始化,初始化成功,通过mount命令挂载后可以看到数据盘(例如dev/vdb1)。 如果您没有跟随云服务器购买数据盘,则需要先购买数据盘并挂载至云服务器。然后登录云服务器对数据盘进行初始化,初始化成功,通过mount命令挂载后可以看到数据盘(例如dev/vdb1)。 云硬盘初始化方法请参见初始化数据盘场景及磁盘分区形式介绍。 父主题: 云硬盘挂载问题
  • Linux CentOS 6.5等较老版本的操作系统用fdisk创建分区时,默认为非4KiB对齐选择初始磁柱编号,对性能有较大的影响,建议针对该类操作系统,在创建分区时4KiB对齐选取初始磁柱编号。 本文以“CentOS 7.2 64位”操作系统为例,不同操作系统的格式化操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。 测试性能前请先安装fio性能测试工具。 登录云服务器并切换为root用户。 进行性能测试之前,请执行以下步骤,确认磁盘分区的初始磁柱编号是否已经4KiB对齐。 fdisk -lu 回显类似如下信息: [root@ecs-centos sdc]# fdisk -lu Disk /dev/xvda: 10.7 GiB, 10737418240 bytes, 20971520 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: 0x7db77aa5 Device Boot Start End Blocks Id System /dev/xvda1 * 2048 20968919 10483436 83 Linux Disk /dev/xvdb: 10.7 GiB, 10737418240 bytes, 20971520 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 /dev/xvdc: 53.7 GiB, 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: 0x3cf3265c Device Boot Start End Blocks Id System /dev/xvdc1 2048 41943039 20970496 83 Linux 如果start对应的初始磁柱编号能被8整除,则表示4KiB对齐,请执行3进行性能测试。 如果start对应的初始磁柱编号不能被8整除,则表示未4KiB对齐,如需继续测试请删除原有分区,重新按照4KiB对齐选择初始磁柱编号。 删除分区并重新按照4KiB对齐选取初始磁柱编号会导致磁盘原有数据的丢失,请谨慎操作。 执行以下命令,使用fio工具测试磁盘性能。 测试随机写IOPS:fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Write_IOPS_Test 测试随机读IOPS:fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Read_IOPS_Test 测试写吞吐量:fio -direct=1 -iodepth=32 -rw=write -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Write_BandWidth_Test 测试读吞吐量:fio -direct=1 -iodepth=32 -rw=read -ioengine=libaio -bs=1024k -size=10G -numjobs=1 -runtime=600 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Read_BandWidth_Test 测试单队列随机读时延:fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=10G -numjobs=1 -runtime=60 -group_reporting -filename=/opt/fiotest/fiotest.txt -name=Rand_Read_LATE_Test 使用fio工具进行裸盘性能测试时,不能在已创建文件系统的磁盘上测试,因为fio性能测试会破坏文件系统,导致磁盘变为只读,需要删除后重新购买。 请尽量不要在保存业务数据的磁盘上进行测试。如果需要,请按照以下建议操作: 在测试开始前对磁盘数据进行备份,防止误操作造成数据丢失。 在测试命令中指定filename参数为某个文件,例如-filename=/opt/fiotest/fiotest.txt。 测试fio相关参数说明如表1所示。 表1 参数说明 参数 说明 direct 定义是否使用direct IO,可选值如下: 值为0,表示使用buffered IO 值为1,表示使用direct IO iodepth 定义测试时的IO队列深度。 此处定义的队列深度是指每个线程的队列深度,如果有多个线程测试,意味着每个线程都是此处定义的队列深度。fio总的IO并发数=iodepth * numjobs。例如: 单线程,且-iodepth=32,则该线程的IO队列深度为32,fio总的IO并发数=32*1=32。 多线程(3个线程),且-iodepth=32,则3个线程的IO队列深度均为32,fio总的IO并发数=32*3=96。 rw 定义测试时的读写策略,可选值如下: 随机读:randread 随机写:randwrite 顺序读:read 顺序写:write 混合随机读写:randrw ioengine 定义fio如何下发IO请求,通常有同步IO和异步IO: 同步IO一次只能发出一个IO请求,等待内核完成后才返回。这样对于单个线程IO队列深度总是小于1,但是可以透过多个线程并发执行来解决。通常会用16~32个线程同时工作把IO队列深度塞满。 异步IO则通常使用libaio这样的方式一次提交一批IO请求,然后等待一批的完成,减少交互的次数,会更有效率。 bs 定义IO的块大小(block size),单位是k、K、m和M等,默认IO块大小为4 KB。 size 定义测试IO操作的数据量,如果未指定runtime这类参数,fio会将指定大小的数据量全部读/写完成,然后才停止测试。 该参数的值,可以是带单位的数字,比如size=10G,表示读/写的数据量为10GiB;也可是百分数,比如size=20%,表示读/写的数据量占该设备总文件的20%的空间。 numjobs 定义测试的并发线程数。 runtime 定义测试时间。 如果未配置,则持续将size指定的文件大小,以每次bs值为分块大小读/写完。 group_reporting 定义测试结果显示模式,group_reporting表示汇总每个进程的统计信息,而非以不同job汇总展示信息。 filename 定义测试文件(设备)的名称。 此处选择文件,则代表测试文件系统的性能。例如:-filename=/opt/fiotest/fiotest.txt 此处选择设备名称,则代表测试裸盘的性能。例:-filename=/dev/vdb 须知: 如果在已经分区、并创建文件系统,且已写入数据的磁盘上进行性能测试,请注意filename选择指定文件,以避免覆盖文件系统和原有数据。 name 定义测试任务名称。