跳转至

常用运维小技巧总结

服务器层面

设置IPMI 远程访问控制台

设置访问远程控制台、修改 vi /etc/default/grub
GRUB_CMDLINE_LINUX="intel_idle.max_cstate=0 crashkernel=auto rhgb quiet console=tty0 console=ttyS0,115200n8"

1.查看用户ID
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 user list
2.设置开启远程访问控制台
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 sol payload enable 1 15
备注 1表示第一个信道(一般1-8个信道挨个试) 15表示ipmi用户id 
3.访问远程控制台
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 sol activate
4.关闭访问远程控制台
ipmitool -I lanplus -H 10.254.178.34 -U admin -P 123456 sol deactivate

cobbler如何设置
cobbler profile edit --name=centos-7.6-x86_64 --kopts='console=tty0 console=ttyS0,115200n8'
cobbler sync

磁盘相关知识

一:查看磁盘uuid
blkid
二:查看所有磁盘
lsblk
#查看磁盘是ssd还是普通sata,sas盘
lsblk -d -o name,rota cat /sys/block/nvme0n1/queue/rotational
返回 1 普通磁盘 如果返回1则表示磁盘可旋转,那么就是HDD了
返回 0 ssd或者nvme 如果返回0,则表示磁盘不可以旋转,那么就有可能是SSD了。
lsblk -d -o name,rota 
NAME ROTA
sda 1
sdb 1
sdc 1
sdd 1
sde 1
sdf 1
sdg 1
sdh 1
sdi 1
sdj 1
sdk 1
sdl 1
sdm 0
sdn 0
nvme0n1 0
nvme1n1 0

录屏软件

 oCam(屏幕录像软件)官方版虽然体积小,但是功能却不少哦!oCam是一款免费屏幕截图、屏幕录像、音频录制软件,还可以录制你的桌面屏幕。用户在使用 oCam(屏幕录像软件)官方版的时候可以在录制屏幕的同时还支持捕获电脑上正在播放的声音或者利用麦克风录音

系统层面

网卡临时配置vlan

1.临时up eno3网卡
ip link set eno3 up
2.临时给eno3网卡配置vlan 170
ip link add link eno3 name eno3.170 type vlan id 170
3.临时up  eno3.170网卡
ip link set eno3.170 up
3.临时给  eno3.170网卡配置IP
ip addr add xx.xx.xx.xx/24 dev eno3.170

yum在线回滚

yum history list
yum history undo 14

iptables端口转发-无需指路由

iptables -t nat  -A PREROUTING -p tcp -m tcp --dport 50244 -j DNAT --to-destination 10.150.155.244:10000
iptables -t nat -I POSTROUTING -s 0.0.0.0/0 -j MASQUERADE




iptables -t nat  -A PREROUTING -p tcp -m tcp --dport 50000 -j DNAT --to-destination 172.17.82.96:50000
172.17.82.96

ntp时间错乱调整

1、关闭存储服务器本地ntpserver,停止存储服务器与资源池ntpserver同步时间;
2、在存储服务器使用adjtimex -t 9500命令将系统时钟调慢5%,等待主机与标准时间差小于1秒时,使用adjtimex -t 10000将时钟调至正常状态。
3、打开存储服务器本地ntpserver,使存储服务器与资源池ntpserver同步时间;
4、等集群稳定后时间调整完毕;

tmux使用小技巧

tmux new -d -s SESSION_NAME   #创建一个tmux终端
tmux send -t SESSION_NAME 'wget -c -r -np -k -L -p http://mirror.centos.org/altarch/7/' ENTER  #向该tmux终端输入命令
tmux ls    #查询终端
tmux a -t SESSION_NAME 进入终端
tmux kill-session -t <session-name>   退出会话

查看会话内容(进入的屏幕内容范围):
tmux capture-pane -p -t test02
tmux show-buffer
查看会话内容(所有内容):
tmux capture-pane -p -S -32767 -t test02

tmux复制模式(MAC系统)
command + b + [  进入复制模式
fn + 上方向键可以向上翻页(windows使用 Page up 键)
fn + 下方向键可以向下翻页(windows使用 Page Down 键)
使用 q 可以退出复制模式
使用 g + 数字 可以到指定行

刷新子网掩码变量

刷新openstack部署脚本子网掩码变量
ansible-playbook playbooks/system_init.yml --tags='local_fact'

yum同步状态

http://172.28.8.241/yum_rsync/

谷歌浏览器远程用户多开

参考博文:https://blog.csdn.net/cloudmq/article/details/88760629

以chrome谷歌浏览器为例
--user-data-dir="c:\ChromeData\%n%"
--user-data-dir="c:\ChromeData01\%n%"
--user-data-dir="c:\ChromeData02\%n%"

image-20220212232530053

批量分发密钥命令

sshpass -p 123456 ssh-copy-id root@192.168.203.11

vim的缩进为4个空格

vim  /etc/vimrc
set ts=4
set expandtab

windows禁止远程复制文件

image-20210824181248647

在服务器上,进入组策略,进入“计算机配置”,“管理模板”,“windows组件”,“终端服务”,“客户端/服务器数据重定向”。

启用“不允许剪切板重定向”、“不允许COM端口重定向”、“不允许客户端打印机重定向”、“不允许LPT端口重定向”、“不允许驱动器重定向”。(把希望的各个不允许的策略都启用)

image-20210825112148241

谷歌浏览器https问题

Chrome您的连接不是私密连接解决办法

解决办法:就是在当前页面用键盘输入 thisisunsafe ,不是在地址栏输入,就直接敲键盘就行了,页面即会自动刷新进入网页。

修改MAC文件描述符

最近在使用MAC对接口进行压测,发现多线程高并发的时候,会有一些小坑,这里整理下,方便后续查看。

1、容易出现unable to create thread 6: Too many open files。

原因是:文件句柄数不够,需要调高ulimit 里面的open file 的值。

输入:ulimit -a 查看当前最大的文件打开数量(默认为256)。

2、接下来使用ulimit -n 命令来调高这个值(可能会出现权限错误)-bash: ulimit: open files: cannot modify limit: Operation not permitted:

原因是权限不够,使用sudo来执行命令。 sudo ulimit -n 1024

按照提示输入电脑密码后,搞定。

3、如果调得过高的话,会出现报错: ulimit: open files: cannot modify limit: Invalid argument。

解决方式:

输入:sysctl -w kern.maxfiles=1048600

输入:sysctl -w kern.maxfilesperproc=1048576

输入:ulimit -n 1048576

随后使用 ulimit -n 命令查看是否成功设置最大文件打开数。

sysctl -w kern.maxfiles=1048600
sysctl -w kern.maxfilesperproc=1048576
ulimit -n 1048576

MAC CPU温度查看

sudo powermetrics --samplers smc |grep -i "CPU die temperature"

Mac上使用Chrome浏览器截取长图

  1. 首先按下 ⌘Command + ⌥Option + I 快捷键,召唤出调试界面。
  2. 按下 ⌘Command + ⇧Shift + P
  3. 输入Capture full size screenshot 敲下回车,Chrome 就会自动截取整个网页内容并保存至本地。

image-20220622160132868

Rsync md5同步软件包校验问题

实验演示: 如果分源已经有这个部署包  常规同步命令是无法同步最新部署软件包

1.首先我们先创建一个空的名称为 CloudWanCDA-deploy-deployment.zip 的文件
[root@linux-bkce-node247 deploy]# touch CloudWanCDA-deploy-deployment.zip
[root@linux-bkce-node247 deploy]# ll -h
total 0
-rw-r--r-- 1 root root 0 Mar 22 10:23 CloudWanCDA-deploy-deployment.zip

2.我们使用常规的同步方式去总源同步最新的 CloudWanCDA-deploy-deployment.zip 文件
[root@linux-bkce-node247 deploy]# rsync  --delete --partial -avzuP rsync_backup@124.236.120.248::data/ctyunos2/telecloudos4.0/x86_64/TeleCloudOS4.0-V23.0831/cloudwan/cda/deploy/CloudWanCDA-deploy-deployment.zip  /data/repo/yum/ctyun/ctyunos2/telecloudos4.0/x86_64/TeleCloudOS4.0-V23.0831/cloudwan/cda/deploy/ --password-file=/etc/rsync.password
receiving incremental file list

sent 24 bytes  received 108 bytes  264.00 bytes/sec
total size is 2,159,792  speedup is 16,362.06

3.我们会先发现是无法同步总源上最新的部署包,他依旧是我们创建的空文件
[root@linux-bkce-node247 deploy]# ll -h
total 0
-rw-r--r-- 1 root root 0 Mar 22 10:23 CloudWanCDA-deploy-deployment.zip

4. 如果我们使用 rsync -c --checksum -vP参数 就会发现 总源上最新的部署包覆盖了我们之前创建的空文件
[root@linux-bkce-node247 deploy]# rsync  -c --checksum -vP rsync_backup@124.236.120.248::data/ctyunos2/telecloudos4.0/x86_64/TeleCloudOS4.0-V23.0831/cloudwan/cda/deploy/CloudWanCDA-deploy-deployment.zip  /data/repo/yum/ctyun/ctyunos2/telecloudos4.0/x86_64/TeleCloudOS4.0-V23.0831/cloudwan/cda/deploy/ --password-file=/etc/rsync.password
CloudWanCDA-deploy-deployment.zip
      2,159,792 100%    5.07MB/s    0:00:00 (xfr#1, to-chk=0/1)

sent 43 bytes  received 2,160,443 bytes  864,194.40 bytes/sec
total size is 2,159,792  speedup is 1.00
[root@linux-bkce-node247 deploy]# ll -h
total 2.1M
-rw-r--r-- 1 root root 2.1M Mar 22 10:25 CloudWanCDA-deploy-deployment.zip

总结: 以上的问题是为了解决分源上的部署包的md5值不是最新,但是使用常规同步命令无法更新到总源最新的包的情况,如果你遇到此问题,可以尝试使用此方法进行解决

结论:
如果同步【单个】部署软件包 使用下面的同步命令会比较稳妥
rsync  -c --checksum -avzP  

如果同步【目录】部署软件包 使用下面的同步命令会比较稳妥
rsync  --delete --partial -avzP

虚拟化层面

vmware虚拟机openstack网络问题

VCenter中嵌套openstack VM不能ping通外部网络问题解决办法

https://blog.csdn.net/jiahaojie1984/article/details/47835787

经过查资料,发现原来的确是被dvs01丢失了,这是因为端口组的配置导致的,将OpenStack_VM对应的端口组配置修改如下即可解决问题:

image-20220509173016142

vmware虚拟机在线扩容磁盘

echo 1 > /sys/block/sda/device/rescan
yum -y install cloud-init cloud-utils-growpart
growpart /dev/sda 2
xfs_growfs /dev/sda2
yum -y remove  cloud-init cloud-utils-growpart

esxi防止网卡乱序

image-20220212232608144

esxi限制端口组流量

image-20220212232625426

问题1: 蓝鲸社区版IAM注册失败导致的

手工注册,先修改环境变量,然后手工修改init_action文件

ps -aux|grep python
sh-4.2# export BK_PAAS_HOST="http://paas.bktencent.com:80"
sh-4.2# export APP_TOKEN="3385bc9d-83c5-42d7-b1b5-0fc5cc9ad47d"
sh-4.2# export APP_ID=bastion
sh-4.2# python init_iam_system.py
ll /opt/opsany-bastion/bastion/utils/|grep init_action

问题2: web s 连接不上,蓝鲸自带的docker不支持端口映射

解决方式:但是启动一个web s 容器解决

问题3: 蓝鲸nginx配置文件是通过模版的方式修改的

/data/install/support-files/templates/nginx/

upstream OPEN_PAAS_CONSOLE {
    server 10.11.24.70:8004;
}


# CONTROL WebSocket
     location /ws/bastion/ {
        proxy_pass http://OPEN_PAAS_CONSOLE;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
    }

systemctl reload consul-template

问题4: 堡垒机SAAS环境变量注册失败

通过一下脚本自动注册,注册完毕后需要重新部署saas程序

/opt/opsany-bastion/install
vi add_env_blueking.py
python add_env_blueking.py --username admin --password 2v227_cTzexB --paas_url http://paas.bktencent.com

问题5: web s的配置,有一些需要手工配置

修改mysql和redis密码
/opt/opsany/websocket/config/prod.py
/opt/opsany/websocket/config/prod.py
BK_URL = os.getenv("BK_PAAS_HOST", "http://paas.bktencent.com:80")
http://paas.bktencent.com:80

需要配置hosts域名解析
echo "192.168.1.204 paas.bktencent.com" >>/etc/hosts
堡垒机容器的id to

APP_TOKEN="3385bc9d-83c5-42d7-b1b5-0fc5cc9ad47d"

web s

cat /data/app/conf/supervisord.conf

问题6: 修改并注释如下代码

/opt/opsany/websocket/bastion # vi models.py
#    icon_url = models.CharField(max_length=500, default="", verbose_name="............")

问题7: windows rdp配置

GUACD_HOST = '192.168.1.204'                                   
GUACD_PORT = '4822'                                                 
# ......guacd...............                                        
GUACD_PATH = "/srv/guacamole"  

问题8: 历史会话无法播放无法同步的问题

docker pull registry.cn-beijing.aliyuncs.com/opsany/opsany-paas-websocket:v3.2.9 INSTALL_PATH=/opt/opsany docker run -d --restart=always --name opsany-paas-websocket \ -p 8004:8004 -v ${INSTALL_PATH}/logs:/opt/opsany/logs \ -v ${INSTALL_PATH}/uploads:/opt/opsany/uploads \ -v ${INSTALL_PATH}/conf/settings_production.py.websocket:/opt/opsany/websocket/config/prod.py \ -v ${INSTALL_PATH}/conf/settings_production.py.websocket.init:/opt/opsany/websocket/config/init.py \ -v /etc/localtime:/etc/localtime:ro \ registry.cn-beijing.aliyuncs.com/opsany/opsany-paas-websocket:v3.2.9

VMware fusion命令操作

vmrun -T ws start "/opt/VMware/win2k8r2.vmx" nogui
# 启动无图形界面虚拟机  
#(-T 是区分宿主机的类型,ws|server|server1|fusion|esx|vc|player,比较常用的是ws、esx和player)

vmrun start "/opt/VMware/win2k8r2.vmx" gui
# 启动带图形界面虚拟机

vmrun stop "/opt/VMware/win2k8r2.vmx" hard | soft
# 强制关闭虚拟机(相当于直接关电源) | 正常关闭虚拟机

vmrun reset "/opt/VMware/win2k8r2.vmx" hard | soft
# 冷重启虚拟机 | 热重启虚拟机

vmrun suspend  "/opt/VMware/win2k8r2.vmx" hard | soft
# 挂起虚拟机(可能相当于休眠)

vmrun pause  "/opt/VMware/win2k8r2.vmx"
# 暂停虚拟机

vmrun unpause  "/opt/VMware/win2k8r2.vmx"
# 停止暂停虚拟机    

vmrun list 
# 列出正在运行的虚拟机

ps aux | grep vmx 
# 另一种查看正在运行虚拟机的方法


vmrun -T ws snapshot "/opt/VMware/win2k8r2.vmx" snapshotName
# 创建一个快照(snapshotName 快照名)

vmrun -T ws reverToSnapshot "/opt/VMware/win2k8r2.vmx" snapshotName 
# 从一个快照中恢复虚拟机(snapshotName 快照名)

vmrun -T ws listSnapshots "/opt/VMware/win2k8r2.vmx"
# 列出虚拟机快照数量及名称

vmrun -T ws deleteSnapshot "/opt/VMware/win2k8r2.vmx" snapshotName
# 删除一个快照(snapshotName 快照名)
vmrun stop '/Users/admin/Documents/z-vmware-kvm/vm/centos76-template/centos76-template.vmx' hard