云主机可以细分物理机的硬件资源,这样可以将一个大块整体的物理资源通过虚拟化技术拆分为多个按需分配的小块资源,能够充分利用现有硬件。
项目建设过程中,申请分配的主机逐步以云主机为主,云主机在分配的时候快捷、并且资源(cpu、内存、存储)可以实现动态管理,但是相比实体机的配置信息明确而言,云主机由于是通过软件虚拟化管理创建,存在创建时设置资源疏漏或差异的情况,所以在分得云主机后,对主机的连通性及各项资源分配情况进行检查就更重要。
1、检查 CPU
在申请主机的时候,CPU 都是要求多少核的方式,如 4C、8C 等,那么检查的重点主要就是查看所分配的数量是否与申请的诉求一致。
(1)、more /proc/cpuinfo | grep "model name" 或 grep "model name" /proc/cpuinfo
得到信息如下:
[root@localhost ~]# more /proc/cpuinfo | grep "model name"
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
model name : Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
(2)、更精简的信息查看:grep "model name" /proc/cpuinfo | cut -f2 -d:
得到的信息如下:
[root@localhost ~]# grep "model name" /proc/cpuinfo | cut -f2 -d:
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
Intel(R) Xeon(R) CPU E7-4820 v2 @ 2.00GHz
(3)、统计出数量:grep "model name" /proc/cpuinfo | cut -f2 -d: | wc -l
得到的信息如下:
[root@localhost ~]# grep "model name" /proc/cpuinfo | cut -f2 -d: | wc -l
8
以上可以看出,所分配主机的 cpu 为 8 核。
2、检查内存
内存在申请的时候一般就是多少容量,如 16G、32G 等,同样也是检查分配的容量是否与申请的诉求一致。
(1)、grep MemTotal /proc/meminfo
得到信息如下:
[root@localhost ~]# grep MemTotal /proc/meminfo
MemTotal: 32241684 kB
(2)、grep MemTotal /proc/meminfo | cut -f2 -d:
得到信息如下:
[root@localhost ~]# grep MemTotal /proc/meminfo | cut -f2 -d:
32241684 kB
(3)、可自定义显示单位:free -m | grep "Mem" | awk '{print $2}' 或 free -g | grep "Mem" | awk '{print $2}'
得到信息如下:
[root@localhost ~]# free -g |grep "Mem" | awk '{print $2}'
30
以上可以看出,所分配主机的内存为 32 G左右(由于计算机的换算是 1024,而自然数是 1000,一般会存在略多或略少的差异,但是量级应该是一致的)。
3、检查存储
云主机虽然分配提供快捷,但毕竟是通过软件来虚拟化管理,其稳定性和可靠性不如物理机,为了避免意外宕机重启或操作系统损坏重做等情况造成业务数据丢失,所以在使用云主机的时候,一定要注意业务数据不要存放于系统盘,而是要单独申请数据磁盘,然后挂载至操作系统,将业务软件和数据尽量都放置到独立的磁盘中,这样在系统重做或重启都能保障数据留存。
(1)、df -h
可以查看当前主机文件系统的挂载情况,但是当分配了额外磁盘的时候,由于暂未挂载至系统,所以这种方式无法查看到独立的数据磁盘。
得到的信息如下:
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/lv-root 66G 1.3G 62G 3% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.4M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/xvda1 1014M 161M 854M 16% /boot
tmpfs 3.1G 0 3.1G 0% /run/user/0
(2)、fdisk -l
可以查看到完整的磁盘分区情况,包括未挂载到文件系统的额外存储空间,这也是接收到云主机后主要要检查的信息,即核查分配的额外存储空间是否与申请时的诉求一致(这里同样要注意,计算机的单位换算是 1024,所以分配的真实容量一般会存在些微的差异,但是量级应该是一致的)。
得到的信息如下:
[root@localhost ~]# fdisk -l
Disk /dev/xvda: 107.4 GB, 107374182400 bytes, 209715200 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: 0x000c2672
Device Boot Start End Blocks Id System
/dev/xvda1 * 2048 2099199 1048576 83 Linux
/dev/xvda2 2099200 209715199 103808000 8e Linux LVM
Disk /dev/mapper/lv-root: 71.9 GB, 71936507904 bytes, 140500992 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/mapper/lv-swap: 34.4 GB, 34359738368 bytes, 67108864 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/xvde: 322.1 GB, 322122547200 bytes, 629145600 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/xvde: 322.1 GB”存在,这就是额外的存储磁盘空间,需要通过格式化并挂载至操作系统后就能正常查看使用了。
4、检查操作系统版本
在申请云主机的时候,一般会要求指定安装的操作系统版本,并且申请方有时候会根据项目的特殊需要也会要求指定版本,比如为了方便使用 Docker 容器,那么就会要求系统版本对应的内核要高一些,对应的操作系统发行版也会要求较高版本,如 centos 7 及以上。类似这样的情况的时候,便需要在接收到云主机时检查操作系统版本。
(1)、检查内核:uname -a
适用于所有 linux 发行版,执行命令后,得到信息如下:
[rtsale@server53 ~]$ uname -a
Linux server53 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
(2)、检查发行版:cat /etc/*release*
网络上有多种说法和查看方法,但是经实际验证,有的需要安装命令,如 lsb_release、有的信息显示不全,如 /proc/version 等,总之不能简单快捷的查看到发行版本信息。由于项目实际应用申请的主机要么是 RedHat、要么是 CentOS,所以经过实验,上述命令基本能满足需要。
得到的输出信息如下:
[rtsale@server59 ~]$ cat /etc/*release*
CentOS Linux release 7.4.1708 (Core)
Derived from Red Hat Enterprise Linux 7.4 (Source)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CentOS Linux release 7.4.1708 (Core)
CentOS Linux release 7.4.1708 (Core)
cpe:/o:centos:centos:7