运维技能大杂烩

打印 上一主题 下一主题

主题 967|帖子 967|积分 2901

形貌

  此文档记录Centos环境和Windows环境的现实生产环境遇到的一些疑难杂点且比较实用的配置,以此记录形成知识归档。
运维干货分享(自取)



  • 软考系统架构设计师三科备考履历附学习资料
  • 信息安全管理体系(ISMS)制度模板分享
  • 开源文档翻译工具,支持word、pdf、ppt、excel
  • PuTTY中文版安装包
  • MobaXterm中文版安装包
  • pinginfoview网络诊断工具中文版
技能1: centos7修改网卡名

  因客户业务系统从vmware迁移至openstack,原来网卡名是ens开头,迁移到opensatck是eth开头,
现在客户要求保留原有的网卡名,通过修改udev配置文件实现。
  1. $ vim /etc/udev/rules.d/70-persistent-ipoib.rules
  2. ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="58:c7:ac:c7:45:76", NAME="ens32"
  3. $ reboot
  4. # ATTR{address}=="现有网卡的mac地址"
  5. # NAME="改成的网卡名"
复制代码
技能2: centos7 配置静态路由

  运行在openstack的虚拟机有多网卡的承载差别的物理平面的网络,比如业务网、管理网、存储网等。但是默认路由只有一条,以是只能通过静态路由来指定路由。


  • for example:

    • 虚拟机eth0是管理网:10.0.43.0/24
    • 虚拟机eth1是业务网:10.0.54.0/24
    • 虚拟机默认路由是业务网default via 10.0.54.1 dev eth1
    • 现在虚拟机的管理网,想要跟10.0.44.0/24管理网通,就要配置静态路由打通,否则会走业务网出去导致网络不通。

  1. $ cat << EOF > /etc/sysconfig/network-scripts/route-eth0
  2. 10.0.44.0/24 via 10.0.43.1 dev eth0
  3. EOF
  4. $ systemctl restart network
  5. # 访问的目标网络 via 管理网网关 dev 管理网的interface
  6. # 动态生效静态路由(不用重启network)
  7. $ route add -net 10.0.44.0/24 gw 10.0.43.1
  8. $ ip route add 10.0.44.0/24  via 10.0.43.1 dev eth0
  9. # 获取IP地址走的是哪条路由
  10. $  ip route get 10.0.26.211
  11. local 10.0.26.211 dev lo src 10.0.26.211
  12.     cache <local>
  13. # 动态生效默认路由
  14. $ route add default gw gateway_ip
复制代码
技能3: centos7单网卡配置子接口

  在生产环境,有可能服务器只有一个业务口可用,而上联交换机端口做了trunk口模式,可以采用此方法进行配置通信。
  1. # eth2修改为自己的网卡名
  2. $ cat > /etc/sysconfig/network-scripts/ifcfg-eth2 << EOF
  3. # Created by cloud-init on instance boot automatically, do not edit.
  4. BOOTPROTO=none
  5. DEVICE=eth2
  6. NAME=eth2
  7. ONBOOT=yes
  8. TYPE=Ethernet
  9. EOF
  10. # eth2.760修改为自己的网卡名和vlan
  11. $ cat  > /etc/sysconfig/network-scripts/ifcfg-eth2.760  << EOF
  12. BOOTPROTO=none
  13. NAME=eth2.760
  14. DEVICE=eth2.760
  15. ONBOOT=yes
  16. IPADDR=192.168.10.20
  17. PREFIX=24
  18. NETWORK=192.168.10.1
  19. VLAN=yes
  20. EOF
复制代码
技能4: centos7双网卡配置bond4

  在生产环境业务网络通常跑的业务流量比较大,万兆口通常不够用且不可靠,以是要做聚合,本文以bond4链路聚合为例(比较常用)。
   服务器配置bond4,上联交换机端口要做动态链路聚合
  1. # ens2f0接口,作为bond4的其中一个接口
  2. # MASTER=bond名字
  3. $ cat << EOF > /etc/sysconfig/network-scripts/ifcfg-ens2f0
  4. TYPE=Ethernet
  5. PROXY_METHOD=none
  6. BOOTPROTO=none
  7. NAME=ens2f0
  8. DEVICE=ens2f0
  9. ONBOOT=yes
  10. MASTER=bondmg
  11. SLAVE=yes
  12. EOF
  13. # ens1f0接口,作为bond4的其中一个接口
  14. # MASTER=bond名字
  15. $ cat << EOF > /etc/sysconfig/network-scripts/ifcfg-ens1f0
  16. TYPE=Ethernet
  17. PROXY_METHOD=none
  18. BOOTPROTO=none
  19. NAME=ens1f0
  20. DEVICE=ens1f0
  21. ONBOOT=yes
  22. MASTER=bondmg
  23. SLAVE=yes
  24. EOF
  25. # 配置bond4
  26. # ifcfg-bond名字
  27. $ cat << EOF > /etc/sysconfig/network-scripts/ifcfg-bondmg
  28. TYPE=Ethernet
  29. PROXY_METHOD=none
  30. BROWSER_ONLY=no
  31. BOOTPROTO=none
  32. BOOTPROTO=static # 如果使用子接口,则把这行注视掉
  33. IPADDR=192.168.1.7 # 如果使用bond子接口,则把这行注视掉
  34. NETMASK=255.255.255.0 # 如果使用bond子接口,则把这行注视掉
  35. DEFROUTE=yes # 如果使用bond子接口,则把这行注视掉
  36. IPV4_FAILURE_FATAL=no
  37. NAME=bondmg
  38. DEVICE=bondmg
  39. ONBOOT=yes
  40. BONDING_MASTER=yes
  41. BONDING_OPTS='mode=4 miimon=100 lacp_rate=1 xmit_hash_policy=1'
  42. EOF
  43. # 如果走bond子接口,则配置,否则跳过。
  44. # ifcfg-bond名字.vlan_id
  45. cat << EOF > /etc/sysconfig/network-scripts/ifcfg-bondmg.102
  46. TYPE=Ethernet
  47. PROXY_METHOD=none
  48. DEFROUTE=yes
  49. BROWSER_ONLY=no
  50. BOOTPROTO=none
  51. IPADDR=192.168.1.7
  52. NETMASK=255.255.255.0
  53. GATEWAY=192.168.1.1
  54. IPV4_FAILURE_FATAL=no
  55. NAME=bondmg.102
  56. DEVICE=bondmg.102
  57. ONBOOT=yes
  58. VLAN=yes
  59. EOF
复制代码
技能5: centos进行抓包

  在云生产环境,虚拟机通常遇到网络不通,可通过tcpdump or ovs-tcpdump工具进行抓包判断谁人路径丢包。
   在ovs环境下,抓取ovs的bridge or port 可采用ovs-tcpdump
  1. # 抓取bonddata的包
  2. $ tcpdump -i bonddata [arp or icmp] host [vm_ip or vm_gateway] -nne
  3. # 抓取ovs br-int的包
  4. $ ovs-tcpdum -i br-int [arp or icmp] host [vm_ip or vm_gateway] -nne
  5. # 抓取bonddata的[in or out]的包
  6. $ tcpdump -i bonddata [arp or icmp] host [vm_ip or vm_gateway] -Q [in or out] -nne
  7. # 抓取bonddata 的vxlan包
  8. $ tcpdump -i bonddata dst 172.18.70.72(目的pod物理业务网卡IP) and udp
复制代码
技能6: centos IPv4的dhclient守护进程持久化配置

  在云生产环境,虚拟机通常采用dhcp的方式获取到IP,但是会出现一个问题,有时候会出现虚拟机的IP没了。是因为IPv4的dhclient进程配置为“非持久化”,当dhclient向DHCP服务器发送一次哀求报文而无响应,则会间隔一段时间后退出,退出值为2。要配置dhclient为持久化才得以解决该问题PERSISTENT_DHCLIENT=1,如许dhclient会向DHCP服务器反复发送哀求报文。
  1. $ vim  /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=eth0
  3. BOOTPROTO=dhcp
  4. ONBOOT=yes
  5. USERCTL=yes
  6. TYPE=Ethernet
  7. DEFROUTE=no # 设置是否为默认路由
  8. HWADDR=fa:16:3e:3f:7a:d5
  9. PERSISTENT_DHCLIENT=1  # dhclient进程配置为“持久化”
复制代码
技能7: unbuntu 静态路由配置

  运行在openstack的虚拟机有多网卡的承载差别的物理平面的网络,比如业务网、管理网、存储网等。但是默认路由只有一条,以是只能通过静态路由来指定路由。
  1. # 动态生效静态路由(不用重启network)
  2. $ route add -net 10.63.0.0/16 gw 10.64.29.1
  3. $ ip route add 10.63.0.0/16  via 10.64.29.1 dev ens9
  4. # 持久化静态路由配置
  5. $ vim /etc/network/interfaces
  6. auto ens9
  7. iface ens9 inet static
  8. address 10.64.29.44
  9. netmask 255.255.255.0
  10. up route add -net  10.63.0.0 netmask 255.255.0.0 gw 10.64.29.1 ens9
复制代码
技能8: 如何查看某个IP走的是哪条路?

  查抄IP走的路由。
  1. # 获取10.63.0.5从哪条路由出去
  2. $ ip route get 10.63.0.5
  3. 10.63.0.5 dev ens9 src 10.64.29.1
  4.     cache
  5. # 删除路由
  6. $ ip route del 10.63.0.0/16
复制代码
技能9: 如何远程重启服务器BMC?

  采用ipmitool重启服务器BMC。
  1. # ipmitool -H <ipmi address> -I lanplus -U <user> -P <password> mc reset cold
  2. $ ipmitool -H 192.168.4.127-I lanplus -U admin -P admin mc reset cold
复制代码
技能10: openstack 云主机磁盘在线扩容操作

  当在openstack扩容块设备时,文件系统辨认不了扩容的容量,下面以centos为例。
  1. # 可以通过执行blkid命令可以看到文件系统类型
  2. # 当使用的是ext4格式文件系统扩容(扩vdb,不是分区vdb1)
  3. $ umount /dev/vdb
  4. $ 开始扩容磁盘
  5. $ e2fsck -f /dev/vdb
  6. $ resize2fs /dev/vdb size
  7. $ mount /dev/vdb /mnt
  8. # 使用xfs格式文件系统扩容(扩vdb,不是分区vdb1)
  9. $ umount /dev/vdb
  10. $ 平台扩容磁盘
  11. $ mount /dev/vdb /mnt
  12. $ xfs_growfs /dev/vdb
  13. # 如果挂载使用的是分区,则使用以下方法扩容,使用growpart工具扩容
  14. # 格式:growpart 块设备 分区号
  15. $  growpart /dev/vdb 1
  16. unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]
  17. $ echo $LANG
  18. zh_CN.UTF-8
  19. $ LANG=en_US.UTF-8
  20. $ growpart /dev/vdb 1
  21. CHANGED: partition=1 start=2048 old: size=419428352 end=419430400 new: size=4294965248 end=4294967296
  22. $ xfs_growfs /dev/vdb1 (ext4文件系统要umount)
复制代码
技能11: windows设置静态路由?

  多网络毗连环境下,配置静态路由实现多网络毗连。
  1. # 首先要有超级管理员打开命令行终端,输入route print -4 查看当前ipv4路由表
  2. # 添加一条路由条目
  3. $ route add 157.0.0.0 MASK 255.0.0.0 157.55.80.1
  4. # 添加一条永久路由条目(-p 表示永久路由,重启后不丢失)
  5. $ route add 157.0.0.0 MASK 255.0.0.0 157.55.80.1 -p
  6. # 删除路由条目
  7. $ route delete 157.0.0.0 MASK 255.0.0.0
复制代码
技能12: centos 7.6 安装python 3.7环境

  1. # 配置centos 7 yum 源
  2. $  curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  3. $ yum clean all; yum makecache;yum install wget
  4. $  wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
  5. # 安装CentOS开发工具
  6. $ yum -y groupinstall development
  7. # 安装python的yum依赖
  8. $ yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma gcc
  9. # 下载python3.7安装包
  10. $ cd /usr/local/src/
  11. $ wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
  12. # 解压python3.7文件夹
  13. $ tar xvf Python-3.7.0.tar.xz
  14. $ mv Python-3.7.0 python3
  15. $ cd python3
  16. 编译python3.7
  17. $ ./configure --prefix=/usr/local/python3
  18. # 将python3.7 安装到/usr/local/python3 下
  19. $ make && make install
  20. # 安装虚拟化环境
  21. $ pip3 install virtualenv
  22. # 创建虚拟环境
  23. $ virtualenv  --python /usr/local/python3/bin/python3 virt_inspaction
  24. # 使用虚拟环境
  25. $ cd virt_inspaction/; source bin/activate
复制代码
技能13: 查看Windows 远程桌面端口:


  • 远程毗连并登录到 Windows 实例。
  • 选择开始 > 运行,输入 cmd 打开下令窗口。
  • 实行下令 tasklist /svc | find “Ter”,本例中查看到 TermService 的 PID 是 1592
    实行下令 netstat -ano | find “1592”,查看 TermService 使用的端口,如示例中的 3389。
   查看远程端口下令:netstat -ano | findstr 3389
-a 体现所有毗连和侦听端口。
-n 以数字形式体现地址和端口号。
-o 体现拥有的与每个毗连关联的进程 ID。
  

技能14: 用户云主机无法进入系统

1、重启系统前记得拍照,留证据
2、询问客户在重启前做了什么操作下令
3、查抄无法进入系统后(单用户模式)的相关日记文件,查看具体的报错信息
4、进入系统,查看用户汗青下令,是否有删除系统的伤害下令如rm大概mv
5、根据文件系统类型,实验修复文件系统
CentOS7.5单用户中重置暗码
1、软重启进入单用户模式

2、按照截图配置修改ro改为rw,添加init=/bin/sh 然后按ctrl+x进入单用户

3、按照下图修改root暗码和重启操作


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

水军大提督

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表