标签:计算型
- 共 0 页
1. 系统启动失败,输出 VFS: Unable to mount root fs on unknow-block 可能是 initramfs 或 initrd 有问题,需要重新 生成 initramfs 或 initrd:。如下图所示:
mkdir -p /mnt/vm1
mount /dev/vda1 /mnt/vm1
mount -o bind /dev /mnt/vm1/dev
mount -o bind /dev/pts /mnt/vm1/dev/pts
mount -o bind /proc /mnt/vm1/proc
mount -o bind /run /mnt/vm1/run
mount -o bind /sys /mnt/vm1/sys
chroot /mnt/vm1 /bin/bash
3.执行以下命令,重新生成 initramfs/initrd。
wget http://mirrors.tencentyun.com/install/cts/linux/cvmrescue_main.sh && chmod +x cvmrescue_main.sh && ./cvmrescue_main.sh -m rebuild_initramfs
碰到域名解析失败的可以在 /etc/hosts 中配置 hosts 169.254.0.3 mirrors.tencentyun.com。
4.输出如下,表示 initramfs 或 initrd 新建成功。
5.参见 使用救援模式,退出救援模式,启动系统。
本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍如何使用iostat、iotop工具查看I/O负载情况。
iotop是一个用来监视磁盘I/O使用状况的top类工具,可以从进程纬度查看磁盘IO负载。
执行如下命令,安装iotop。
yum install iotop
执行如下命令,查看I/O负载。
iotop -k -n 5 -d 3
-b:记录到日志。
-k:以KB为单位显示。
-n:统计次数。
-d:统计时间间隔。
显示结果如下。
显示结果参数说明如下,更多参数说明,可执行iotop -h
查询。
DISK READ:该进程读I/O带宽。
DISK WRITE:该进程写I/O带宽。
SWAPIN:磁盘的交换使用率。
IO:该进程的 I/O 利用率,包含磁盘和交换。
使用iotop排查分析,发现kjournald进程占用了大量I/O资源。
该问题通常是由于.ext3
文件系统设置的Journal size太小导致。
kjournald进程是ext3文件系统进行I/O数据操作的内核进程,它在向磁盘内写入和读取数据时占用CPU和内存资源。当循环的向ext3文件系统写数据时,会使Journal size不断增大,到达设置的Journal size时,就会出现该问题。
远程连接Linux系统的ECS实例。
具体操作,请参见连接方式概述。
执行如下命令,查看相应分区的Journal size大小。
dumpe2fs /dev/xvda1 | grep Journal
/dev/xvda1请替换为实际的分区。
系统显示类似如下,表示/dev/xvda1
分区的Journal size为128M。
dumpe2fs 1.42.9 (28-Dec-2013)
Journal inode: 8
Journal backup: inode blocks
Journal features: journal_incompat_revoke
Journal size: 128M
Journal length: 32768
Journal sequence: 0x00010ffb
Journal start: 10953
执行如下命令,修改Journal size大小。
mke2fs -J size=400 /dev/xvda1
请根据业务需要,修改size大小,/dev/xvda1请替换为实际的分区。
4K对齐指将符合4K扇区定义格式化过的硬盘,按照4K扇区的规则写入数据。4K对齐可以使簇与扇区相对应,保证了磁盘读写效率,以提高I/O性能。
本操作介绍如何通过以下脚本对磁盘进行格式化并自动配置4K对齐。
运行此脚本会自动格式化所有数据盘,如果非新购数据盘,请在操作前,确认已对相关数据盘进行数据备份。具体操作,请参见创建一个云盘快照。
使用root用户远程连接Linux系统的ECS实例。
具体操作,请参见连接方式概述。
下载auto_fdisk.zip压缩包后解压,将解压后脚本并上传到目标服务器。
依次执行如下命令,为脚本添加执行权限,然后运行脚本。
chmod +x ./auto_fdisk.sh
./auto_fdisk.sh
在您使用ECS实例过程中,可能会遇到实例系统负载较高的情况,负载过高,可能会引发一系列异常问题,简单说明如下:
CPU使用率或负载过高:一般来说,当CPU使用率≥80%时,定义为CPU使用率过高。CPU使用率持续过高,可能会导致实例运行速度变慢,自动关机或重启、无法登录等问题。
带宽使用率过高:一般来说,带宽使用率≥当前带宽80%时,定义为带宽使用率过高。带宽使用率持续过高,将影响实例的网络连通性或网络吞吐,例如实例无法远程连接、网速过慢等。
内存使用率过高:一般来说,当内存使用率≥80%时,定义为内存使用率过高。内存使用率过高,可能会出现系统卡顿、内部服务响应速度变慢等问题。
I/O使用率过高:一般来说,当前I/O读写≥该云盘I/O的80%时,定义为I/O使用率过高。I/O使用率过高,可能会出现文件读写变慢、应用性能下降或报错等问题。
您可以使用SAR工具或htop工具定位该实例的负载过高及各资源的使用情况。
sar是System Activity Reporter(系统活动情况报告)的缩写,sar工具对系统状态进行取样后,通过计算数据和比例来表达系统当前的运行状态。其特点是可以连续对系统取样,获得大量的取样数据。其取样数据和分析结果可以存入文件,所需的负载很小。
sar是Linux系统中较为全面的性能分析工具,可以从多个方面对系统的活动进行监控和报告,包括文件读写情况、系统调用使用情况、串口、CPU效率、内存使用情况、进程活动及IPC(Inter-Process Communication,进程间通信)等。
如果您的ECS实例中默认未安装sar工具,可参考如下步骤进行安装。
使用VNC连接Linux系统的ECS实例。
具体操作,请参见使用VNC登录实例。
执行如下命令,安装sar工具。
yum install sysstat
执行如下命令,启动sysstat服务。
systemctl start sysstat
执行如下命令,查看sysstat服务状态。
systemctl status sysstat
当返回系统中出现Active: active (exited)
表示sysstat服务已启动。
执行如下命令,查看CPU负载。
sar -u 1 5 #每隔一秒刷新,刷新5次
系统显示类似如下。
Linux 3.10.0-123.9.3.el7.x8664 (iZ23pddtofdZ) 07/04/2016 _x86_64 (1 CPU)
10:16:35 AM CPU %user %nice %system %iowait %steal %idle
10:16:36 AM all 14.14 0.00 1.01 0.00 0.00 84.85
10:16:37 AM all 14.14 0.00 0.00 1.01 0.00 84.85
10:16:38 AM all 0.00 0.00 1.01 0.00 0.00 98.99
10:16:39 AM all 0.00 0.00 0.00 0.00 0.00 100.00
10:16:40 AM all 1.00 0.00 0.00 0.00 0.00 99.00
Average: all 5.86 0.00 0.40 0.20 0.00 93.54
显示结果主要字段说明
%user:用户模式下消耗的CPU时间比例。
%nice:通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间比例。
%system:系统模式下消耗的CPU时间比例。
%iowait:CPU等待磁盘I/O导致空闲状态消耗的时间比例。
%steal:利用Xen等操作系统虚拟化技术,等待其它虚拟CPU计算占用的时间比例。
%idle:CPU空闲时间百分比。
sar命令的参数说明如下,区分大小写。
-A:汇总所有的报告。
-a:报告文件读写使用情况。
-B:报告附加缓存的使用情况。
-b:报告缓存的使用情况。
-c:报告系统调用的使用情况。
-d:报告磁盘的使用情况。
-g:报告串口的使用情况。
-h:报告关于buffer使用的统计数据。
-m:报告IPC消息队列和信号量的使用情况。
-n:报告命名cache的使用情况。
-p:报告调页活动的使用情况。
-q:报告运行队列和交换队列的平均长度。
-R:报告进程的活动情况。
-r:报告没有使用的内存页面和硬盘块。
-u:报告CPU的利用率。
-v:报告进程、i节点、文件和锁表状态。
-w:报告系统交换活动状况。
-y:报告TTY设备活动状况。
本文介绍使用第三方SSH客户端远程连接Linux实例时,提示“No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)”错误的问题原因和解决方案。
当您使用第三方SSH客户端远程连接Linux系统的ECS实例时,输入了正确的账号和密码,但是还是出现类似以下错误信息。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
sshd[10826]: Connection closed by XX.XX.XX.XX
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
使用密码或密钥登录都可能出现该问题,具体说明如下:
使用密码登录出现该问题:可能是ECS实例内禁止用户使用密码方式连接,您可以将PasswordAuthentication
参数值修改为yes
以解决此问题。具体操作,请参见方案一:允许使用密码方式登录。
使用密钥登录出现该问题:可能是ECS实例内禁止了密钥登录或SSH密钥对的公钥未加入对应用户.ssh/authorized_keys
中,您可以检查/etc/ssh/sshd_config
文件或重新上传公钥到authorized_keys
文件中以解决此问题。具体操作,请参见方案二:复制公钥到authorized_keys文件。
以VNC方式登录ECS实例。
具体操作,请参见通过密码认证登录Linux实例。
查看/etc/ssh/sshd_config
的参数PasswordAuthentication
配置是否有误。
sudo cat /etc/ssh/sshd_config
如下图所示,PasswordAuthentication
参数设置为no
,表示禁止以密码方式登录,需要修改为yes
。
将PasswordAuthentication no
修改为PasswordAuthentication yes
。
打开SSH配置文件。
sudo vim /etc/ssh/sshd_config
将PasswordAuthentication no
修改为PasswordAuthentication yes
。
按Esc键,输入:wq
保存修改。
执行如下命令,重启SSH服务。
sudo systemctl restart sshd.service
重新远程连接Linux实例,如果可以正常连接,说明问题已解决。
authorized_keys
文件以VNC方式登录ECS实例。
具体操作,请参见通过密码认证登录Linux实例。
查看/etc/ssh/sshd_config
的参数PubkeyAuthentication
配置是否有误。
sudo cat /etc/ssh/sshd_config
将PubkeyAuthentication no
修改为PubkeyAuthentication yes
。
打开SSH配置文件。
sudo vim /etc/ssh/sshd_config
将PubkeyAuthentication no
修改为PubkeyAuthentication yes
。
按Esc键,输入:wq
保存修改。
执行如下命令,重启SSH服务。
sudo systemctl restart sshd.service
复制公钥到authorized_keys
文件。
执行如下命令,打开authorized_keys
文件。
sudo vim /home/user/.ssh/authorized_keys
/home/user请替换成实际的用户。
按i
键进入编辑模式。
将本地保存的公钥粘贴到authorized_keys
文件中。
按Esc
键,输入:wq
退出编辑模式。
重新远程连接Linux实例,如果可以正常连接,说明问题已解决。
当您进行回滚云盘、修改关键系统文件、更换操作系统等重要操作之前,建议提前为云盘(系统盘或数据盘)创建快照做好数据备份,如果操作过程中导致了未预期的问题或数据丢失,您可以通过快照来恢复数据,保证业务连续性。本文介绍如何为单块云盘手动创建快照。
已开通快照。具体操作,请参见开通快照。
云盘必须处于使用中或待挂载状态。不同状态下的注意事项如下:
如果云盘处于使用中的状态,则实例必须处于运行中或已停止状态。
如果云盘处于待挂载的状态,则需要保证云盘有过挂载到ECS实例的历史操作。从未挂载过ECS实例的云盘不支持创建快照。
创建快照时,请注意:
不能修改ECS实例状态,如停止或重启ECS实例,否则会导致快照创建失败。
创建快照应避开业务高峰期。创建快照时,云盘I/O性能降低10%以内,读写性能出现短暂瞬间变慢。
创建快照期间,操作云盘产生的增量数据不会备份到快照中。
正在创建快照的云盘不支持扩容。请您等待快照创建完成后,再开始执行扩容操作。
创建快照后,系统根据快照容量大小,按每个地域单独结算费用。更多信息,请参见快照计费。
当云盘被用作创建动态扩展卷或者RAID阵列时,建议您使用快照一致性组并开启应用一致性快照备份数据。快照一致性组能够保证在业务系统跨多块云盘的场景下,数据写入云盘的时序一致性,并保证其崩溃一致性。更多信息,请参见创建快照一致性组和创建应用一致性快照。
以下操作以在快照页面创建云盘快照为例,您也可以在云盘页面为目标云盘创建快照。
登录ECS管理控制台。
在左侧导航栏,选择存储与快照 > 快照。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在云盘快照页签下,单击创建云盘快照。
在弹出的创建云盘快照对话框中,设置快照参数。
参数 |
说明 |
参数 |
说明 |
选择云盘 |
选择需要创建快照的云盘,可以是系统盘或数据盘。 |
快照名称 |
设置快照的名称。 |
保留时间 |
设置快照的保留天数,可以选择永久保留或者自定义保留天数。快照超过保留时间后,将被系统自动删除。 说明
|
极速可用 |
仅ESSD PL0/1/2/3云盘和ESSD AutoPL云盘默认开启极速可用功能,其他云盘不支持该参数。更多信息,请参见快照极速可用能力。 |
标签 |
设置标签,将快照归类,便于搜索与批量操作。 |
资源组 |
设置资源组,对快照进行分级管理。 |
单击确定。
(可选)在快照列表中查看快照的创建进度。
快照创建完成后,将存储在对象存储OSS Bucket中。更多信息,请参见快照原理。
在进度列查看快照上传至OSS的进度,鼠标悬浮至上传至OSS:xx%时,会显示预计剩余时间。
快照上传预计剩余时间是动态变化的,会随着多个因素的影响而不断更新。某个特定快照的实时预计剩余时间与该快照的数据量、同时在创建的其他用户的快照数量和容量等多个因素相关:
快照的数据量越大,理论上上传所需的时间就越长。
每天凌晨左右是用户自动快照创建的高峰期,上传的快照数量和容量都会增加,每个快照分配到的带宽可能会变小。因此,初始的预计剩余时间可能会显示得较长。但随着时间推移,当系统中正在上传的快照数量减少时,剩余的快照可以享有更多的带宽,从而上传速度加快,预计剩余时间将会缩短。如果业务允许,建议您的手动快照避开这个时间段,以获得更好的上传速度。
当进度列显示上传至OSS:100%时,表示快照上传至OSS完成。