给网络注入点延迟

前言

有些时候,需要人为引入网络延迟,模拟网络条件比较差的情况下,集群的行为。这时候,tc这个工具就横空出世了。 tc是 Traffic Control的简写,用来控制网络流量的。它的功能还是很强大的,我们本文仅简单介绍如何惹人为地注入网络延迟。

注入延迟

注入延迟之前,看下网路延迟:

root@BEAN-1:~# ping 10.10.125.1
PING 10.10.125.1 (10.10.125.1) 56(84) bytes of data.
64 bytes from 10.10.125.1: icmp_req=1 ttl=64 time=0.178 ms
64 bytes from 10.10.125.1: icmp_req=2 ttl=64 time=0.090 ms
64 bytes from 10.10.125.1: icmp_req=3 ttl=64 time=0.270 ms
64 bytes from 10.10.125.1: icmp_req=4 ttl=64 time=0.156 ms
64 bytes from 10.10.125.1: icmp_req=5 ttl=64 time=0.145 ms
^C
--- 10.10.125.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.090/0.167/0.270/0.061 ms

给eth0 注入8ms的延迟:

tc qdisc add dev eth0 root netem delay 8ms

然后通过ping查看是否生效:

ping 10.10.125.1
PING 10.10.125.1 (10.10.125.1) 56(84) bytes of data.
64 bytes from 10.10.125.1: icmp_req=1 ttl=64 time=8.17 ms
64 bytes from 10.10.125.1: icmp_req=2 ttl=64 time=8.17 ms
64 bytes from 10.10.125.1: icmp_req=3 ttl=64 time=8.18 ms
64 bytes from 10.10.125.1: icmp_req=4 ttl=64 time=8.28 ms
64 bytes from 10.10.125.1: icmp_req=5 ttl=64 time=8.13 ms
^C
--- 10.10.125.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4003ms
rtt min/avg/max/mdev = 8.139/8.190/8.286/0.050 ms

可以看到网络延迟增加了8ms左右。

查看当前的延迟信息

tc qdisc show dev eth1 
qdisc netem 8121: root refcnt 2 limit 1000 delay 8.0ms

改变网络延迟大小

注意,如果已经引入了延迟,但是要修改延迟大小,使用add就不行了,要用change

tc qdisc add  dev eth1 root netem delay 10ms
RTNETLINK answers: File exists

tc qdisc change  dev eth1 root netem delay 10ms

tc qdisc show dev eth1 
qdisc netem 8121: root refcnt 2 limit 1000 delay 10.0ms

或者我们不想区别第一次和修改,可以一律使用replace

删除引入的网络延迟
tc qdisc del dev eth1 root netem delay 1ms

显示当前的状态,无延迟
tc qdisc show dev eth1 
qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

#replace设置延迟为9ms
tc qdisc replace  dev eth1 root netem delay 9ms

# 显示当前状态,的确是delay 9ms
tc qdisc show dev eth1 
qdisc netem 8123: root refcnt 2 limit 1000 delay 9.0ms

# 用replace来修改网络延迟为4ms
tc qdisc replace  dev eth1 root netem delay 4ms

# 显示当前网络延迟,的确是4ms
tc qdisc show dev eth1 
qdisc netem 8123: root refcnt 2 limit 1000 delay 4.0ms

删除引入的延迟

tc qdisc del dev eth1 root netem delay 1ms

其他

我们在测试脚本中引入延迟,但是须知,脚本可能会被信号杀死,我们希望,脚本退出的时候,网络延迟被重置为0,这时候,对于shell脚本而言,需要使用trap,做清理工作。

function clean
{
   #此函数为清理函数,一般是将人为引入的网络延迟删除
}

trap clean EXIT

清理WINDOWS C盘空间一例

有一台windows 2012 R2服务器,内存配置128G,C盘分区大小为100G左右,发现C盘可用空间很小,只有2G多。

显示系统隐藏文件,发现C盘下有hiberfil.sys文件,该文件占用空间很大,此文件为系统休眠文件,系统休眠时将内存中的所有信息保存到hiberfil.sys文件中。

要删除该文件,可以在控制面板——电源管理下,在休眠选项下,不启用休眠,即可。

也可以在命令行下执行powercfg -h off来关闭系统休眠,关闭后,hiberfil.sys会被删除,C盘可用空间又变大了。

如果需要使用系统休眠,可以通过命令powercfg -h size 50,来将休眠文件的大小限制在内存容量的50%,此处默认大小不能小于40,并且该配置执行后还将导致启用休眠。

VSAN6.5主机修改IP地址的步骤

现有四台vsan主机,组成一个集群,四台主机的IP地址分别为10.13.9.161、10.13.9.162、10.13.9.163、10.13.9.164,现需要将IP改为10.13.9.11、10.13.9.12、10.13.9.13、10.13.9.14。

操作步骤大概如下:
1、在vcenter上将该集群移除;
2、在每台esxi主机上,按F2进入,修改各IP地址;
3、在vcenter上新建集群,在新建集群下,添加四台主机,即可完成。

整个操作对业务没有影响。

WSL报错0X8007019E的解决方法

WSL即Windows Subsystem for Linux,在windows操作系统中的microsoft store搜索WSL即可下载ubuntu、kali、opensuse等linux发行版,但是安装后运行时,如果报0X8007019E的错误,则需要在“启用或关闭windows功能”处启用适用于Linux的Windows子系统,即可解决报错问题,也可在powershell下执行 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem -Linux。

修改root密码,可以在powershell下执行命令 ubuntu config –default-user root来配置root密码。

HP SmartDrive服务器硬盘说明

HP SmartDrive(HDD)产品分企业和中端两种型号
驱动器活动旋转指示灯
硬盘灯状态
硬盘故障对逻辑驱动器的影响
驱动器错误日志NVRAM
固态硬盘SSD

HP Smart Array存储控制器(服务器阵列卡)说明

HP智能阵列控制器-Smart Array
HP智能主机总线适配器-Smart HBA
HP智能存储控制器功能与特性
Smart Array产品命名规则
Smart HBA产品命名
HP智能阵列卡控制器(10&100系列)
HP智能阵列控制器(300系列)
HP智能阵列控制器(BL系列)
HP Gen9智能存储控制器产品列表
HP Gen9智能存储控制器产品列表-图示
HP Gen9 DL//ML Smart Array-技术参数
HP Gen9 DL/ML Smart HBA技术参数
Smart Storage Battery智能存储电池-共享备份电池
HP智能存储电池与阵列卡安装实例
HP ProLiant服务器支持列表
用户HP智能阵列控制器的HP SmartCache
HP SmartCache
HP Secure Encryption
高级数据镜像(SAAP 2.0)
HBA mode(HBA模式)

vsan扩容——添加vsan主机节点的方法

增加新的ESXi主机到现有集群不仅可以增加vSAN集群的存储资源(磁盘),同时也可以增加vSAN集群的计算资源(CPU和内存),当然,如果新的主机没有磁盘组的话,我们也⽀持只作为计算资源加⼊到现有vSAN集群。增加新节点的过程主要包括:

1、检查新增ESXi主机的状态。我们建议和原vSAN集群中的主机使⽤相同型号以及ESXi的
版本,确保主机BIOS、⽹卡驱动固件符合ESXi的兼容性要求。除此以外,还需要确保
Raid控制器的硬件驱动固件以及所有磁盘的硬件固件都符合vSAN兼容性要求。

2、把新增ESXi主机注册到vCenter中,但是先不要加⼊到vSAN集群。

3、需要对新增主机进⾏相关的⽹络配置,包括配置vSAN端口、vMotion端口。

4、配置后状态如下:

5、确保vSAN集群中添加磁盘模式为“⼿动”

6、把新增主机拖⼊到vSAN集群中:

7、等添加任务完成后,检查当前vSAN集群中已经包含了新的主机。

或者命令⾏下执⾏esxcli vsan cluster get

8、这时在vSAN磁盘管理界⾯⾥可以看到新增的主机,但是没有磁盘组。

9、选择新增的主机,创建新的磁盘组。

10、选择缓存层磁盘和容量层磁盘。

11、创建完成后,检查磁盘组状态以及磁盘格式版本。

12、添加主机后,如果vSAN中原有磁盘使⽤量没有超过80%,则vSAN不会开始进⾏数据平衡的操作。我们可以通过vSAN健康检查中“磁盘平衡”来⼿⼯触发数据平衡的操作。在后续的运⾏中vSAN会根据实际情况把数据存放在新加⼊的磁盘中,确保所有的磁盘使⽤率⼤致相同。如果开启的DRS,VM会⾃动迁移到新增主机上,使得所有主机负载相同。如果没有开启DRS,则需要⼿⼯迁移VM到新增主机。

ESXI中VMkernel和VM Network的区别

在vSphere的ESXi服务器上,有两大类型的端口组,分别是:
VM Network – 用于所有虚拟网路卡连接的端口,相当于物理交换机的下行端口组;
VMkernel – 它包含4个子接口,分别是:Management Traffic、vMotion、Fault Tolerance和IP Storage。
默认情况下,VMkernel下的4个子接口的IP地址,都可以用于vSphere Client或命令行登录管理。
Management Traffic – 这个接口主要用于配置vSphere HA时,管理网路心跳传输时用,如果不勾选,则意味着,没有vSphere HA没有心跳网路,将配置失败;
vMotion – 这个接口则用于支持将虚拟机从A ESXi主机在线迁移到B ESXi主机,如果没有这个接口,将无法迁移;
Fault Tolerance – 这个接口则用于支持虚拟机容错;
IP Storage – 这个接口被用于连接IP存储用,包括iSCSI和NFS存储,都可以。
默认情况下,可以把所有选项都勾选上,但是,这样一来,所有流量都将走同一个通道,容易形成相互干扰,进而导致对应的功能失败。因此,在生产环境中,建议独立划分不同的VMkernel子接口,以便完全保障对应业务的成功性。

如何在 ESXi 主机重建之后将主机重新添加到 vSAN 群集

要将 ESXi 主机重新加入 vSAN 群集,请执行以下操作:

  1. 安装主机,确保预留 vSAN 磁盘分区。
  2. 在主机上配置 vSAN VMkernel 端口组。
  3. 在 vCenter Server 中将主机重新连接到 Virtual SAN 群集。
  4. 使用 SSH 连接到 vSAN 群集中剩余的一台主机。
  5. 使用以下命令找到 vSAN Sub Cluster ID:

    # esxcli vsan cluster get

    您会看到类似以下内容的输出:

    Cluster Information
    Enabled: true
    Current Local Time: 2013-09-06T18:50:39Z
    Local Node UUID: 521b50a1-ad57-5028-ad51-90b11c3dd59a
    Local Node State: MASTER
    Local Node Health State: HEALTHY
    Sub-Cluster Master UUID: 521b50a1-ad57-5028-ad51-90b11c3dd59a
    Sub-Cluster Backup UUID: 52270091-d4c9-b9a0-377b-90b11c3dfe18
    Sub-Cluster UUID: 5230913c-15de-dda3-045e-f4d510a93f1c
    Sub-Cluster Membership Entry Revision: 1
    Sub-Cluster Member UUIDs: 521b50a1-ad57-5028-ad51-90b11c3dd59a, 52270091-d4c9-b9a0-377b-90b11c3dfe18
    Sub-Cluster Membership UUID: f3b22752-f055-bcc5-c622-90b11c3dd59a

  6. 使用在步骤 5 中找到的 Sub Cluster UUID 在新重建的 ESXi 主机上运行以下命令:

    # esxcli vsan cluster joinsub_cluster_UUID

    例如:

    # esxcli vsan cluster join -u 5230913c-15de-dda3-045e-f4d510a93f1c

  7. 运行以下命令,确认主机现在为 vSAN 群集的一部分:

    # esxcli vsan cluster get

    您会看到类似以下内容的输出:

    Cluster Information
    Enabled: true
    Current Local Time: 2013-09-06T11:51:51Z
    Local Node UUID: 522756f5-336a-8de0-791a-90b11c3e1fb9
    Local Node State: AGENT
    Local Node Health State: HEALTHY
    Sub-Cluster Master UUID: 521b50a1-ad57-5028-ad51-90b11c3dd59a
    Sub-Cluster Backup UUID: 52270091-d4c9-b9a0-377b-90b11c3dfe18
    Sub-Cluster UUID: 5230913c-15de-dda3-045e-f4d510a93f1c
    Sub-Cluster Membership Entry Revision: 1
    Sub-Cluster Member UUIDs: 521b50a1-ad57-5028-ad51-90b11c3dd59a, 52270091-d4c9-b9a0-377b-90b11c3dfe18, 522756f5-336a-8de0-791a-90b11c3e1fb9
    Sub-Cluster Membership UUID: f3b22752-f055-bcc5-c622-90b11c3dd59a

  8. 在 vCenter Server 中,刷新 vSAN 状态视图。所有主机现在都报告状态为“正常”。

扩展vsan集群,可参考vmware文档,请点击这里

windows 2012升级到windows 2016的说明

如果正在运行这些版本:可以升级到这些版本:
Windows Server 2012 StandardWindows Server 2016 Standard 或 Datacenter
Windows Server 2012 DatacenterWindows Server 2016 Datacenter
Windows Server 2012 R2 StandardWindows Server 2016 Standard 或 Datacenter
Windows Server 2012 R2 DatacenterWindows Server 2016 Datacenter
Hyper-V Server 2012 R2Hyper-V Server 2016(使用群集操作系统滚动升级功能)
Windows Server 2012 R2 EssentialsWindows Server 2016 Essentials
Windows Storage Server 2012 StandardWindows Storage Server 2016 Standard
Windows Storage Server 2012 WorkgroupWindows Storage Server 2016 Workgroup
Windows Storage Server 2012 R2 StandardWindows Storage Server 2016 Standard
Windows Storage Server 2012 R2 WorkgroupWindows Storage Server 2016 Workgroup

许可证转换

可以将 Windows Server 2016 Standard(零售版)转换为 Windows Server 2016 Datacenter(零售版)。

可以将 Windows Server 2016 Essentials(零售版)转换为 Windows Server 2016 Standard(零售版)。

可以将 Windows Server 2016 Standard 的评估版转换为 Windows Server 2016 Standard(零售版)或 Datacenter(零售版)。

可以将 Windows Server 2016 Datacenter 评估版转换为 Windows Server 2016 Datacenter(零售版)。

查看windows 2008升级到windows 2012的说明,请点击这里
查看windows 2008升级到windows 2012 r2的说明,请点击这里