41.arping命令
在一次装机时,我用ping命令,当时没有ping出那个地址,于是就使用了那个地址。后来发现有两个主机都在用那个地址。这时候用ping是看不出来了。需要用到arping。他会得到相应ip的mac。这时候如果有多台主机用一个ip,就会返回多个mac。下面只是命令执行的效果,实验不再演示。
42.批量创建和删除文件
今天在处理线上问题的时候,有一个是要保留近一周的文件。因此在删除的时候,就出现了一些问题,一些文件需要挨个删除。所以,我就按照线上的情况做了下面实验,做到了批量删除。其实还有好多种方法的,回头要好好学下,这个只能暂时解决。
#touch app.log-2017.10.{1..9}
#rm -rf app.log-2017.10.{2..8}
43.向cobbler加入rabbitmq
前几天,写puppet加入了rabbitmq,但是自动化后,还需要把rabbitmq加入奥cobbler源里面。大概的步骤是。先下载安装rabbitmq-server相关的包。之后,把安装包上传到相应的目录下。这里上传到了这个目录下。/data/cobbler/cobbler/repo_mirror/lenovo-7。之后在这个目录下执行 createrepo . 。之后就完成了。createrepo . 命令执行结果如下图所示。
之后,执行yum clean all, yum makecache ,更新缓存。执行yumsearch 即可。如下图,安装成功。
44.一个rebbitmq-server启动报错
45.安装IIS服务时,报winrm无法使用
这个错误是在一次安装IIS时遇到的。当时的解决办法是通过百度找到方法。是通过加虚拟内存解决的。
46.zabbix字体乱码(更换字体)
在一次部署Zabbix Server过程中,遇到了在Web界面上字体显示乱码的问题。网上百度后,是字体的问题,可以通过更换显示字体来解决。具体的方法可以参照下面的链接。
http://www.linuxidc.com/Linux/2017-08/146162.htm
47.yum命令来获得安装一个软件需要哪些软件包
在一次配置puppet的过程中,需要获得安装恒服务所需的全部软件包。但是我也不知道该如何获得。百度后,通过yum命令可以间接的得到。比如获得rabbitmq服务所需的安装包。
yum -y install rabbitmq-server --downloadonly --downloaddir=/mnt
--downloadonly 下载不安装
--downloaddir=/mnt 指定下载路径,这里是/mnt
48.rsync命令
前段时间做迁移,用了rsync命令。自己用了几次,有些迷糊的是,我想拷贝/tmp/ayx/下面的所有文件,结果除了在ayx目录下的文件过来了,还多了一个tmp目录。猜测这个tmp目录是本地的。但是也不知道是不是这样。使用的命令如下。从本地向远程主机拷贝。
rsync -e ssh -avc /tmp/ayx/ root@172.16.51.36:/tmp/ayx/
下面这个是同事给的实际操作使用的命令,不知道为什么,这个命令就没有问题。
rsync -e 'ssh -p62222' --rsync-path="sudo rsync" -avc/data/repo_mirror/ anyx_@10.2.1.x:/data/repo_mirror/
下面讲一下这个命令中使用到的参数。
-e, --rsh=command 指定使用rsh、ssh方式进行数据同步。
--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性
-c, --checksum 打开校验开关,强制对文件传输进行校验
-v, --verbose 详细模式输出
好吧,只能暂时这样了。希望以后用的多了,能够完全掌握这个命令。
49.virsh虚拟机管理常用命令
想整理这个好久了。忽然发现以前接触的东西还是很多的,只是好久不用。经过几次看网上资料,也明白了virsh。自己的总结是,virsh是红帽开发的一个虚拟机管理工具,其软件是libvirt。这里用到了libvirt.so链接库。通过libvirt.so提供的API接口,你就可以管理所有的虚拟操作系统。也就是学会了virsh,就可以管理所有的虚拟操作系统了。比如说管理KVM,Xen。也不知道这样说对不对。
下面介绍一些基本的命令。
virsh start domain_name // 开启虚拟机
virsh shutdown domain_name //关闭虚拟机
virsh reboot domain_name //重启虚拟机
virsh define domain_name //从XML定义一个虚拟机
virsh undefine domain_name //取消定义的虚拟机
virsh destroy domain_name //删除一个虚拟机
virsh connect domain_name //连接到指定的虚拟机,一般不用。因为我们会加入到堡垒机
virsh list –all //列出所有虚拟机
virsh create domain_name //启动一个虚拟机,没用过
另外,有时候你会发现,使用reboot shutdown 来重启、关闭虚机是没有用的。是因为我们没有安装acpid服务。这个是电源管理服务。那么,关闭虚机如何操作呢?使用destroy,强制下电关机。
virsh –install // 安装一个虚拟机,下面介绍一下这个命令后面常用的参数,这个命令是之前一次安装虚拟机时使用到的参数。
virt-install --name tg-v-cld-msgqa-01 --vcpus=2 --ram 4096 --accelerate--prompt --location/usr/local/src/iso --diskpath=/opt/vm/tg-v-cld-pxy-02.img,size=40 --disk path=/usr/local/src/CentOS-7-x86_64-DVD-1503-01.iso,device=cdrom--network bridge=br0 --extra-args "console=tty0console=ttyS0,115200n8" –force
--name 虚拟机名称
--vcpus 虚拟机的vcpu个数
--ram 虚拟机分配的内存
--accelerate KVM或KQEMU内核加速,这个选项是推荐最好加上。如果KVM和KQEMU都支持,KVM加速器优先使用。
--prompt 要求用户为模糊情况或者需要的选项输入
--location=localdir 安装源,有本地、nfs、http、ftp几种,多用于ks网络安装
--disk= 使用不同选项作为磁盘使用安装介质
--network=NETWORK 配置虚拟机的网络接口
--extra-args=EXTRA 当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序
--force 对任意应用程序提示强制回答yes,终止左右其它提示
实践,在总结了上面几条命令后,知道了一次实践的机会。好吧,开始非常的困难。
开始我执行的命令是
还遇到了下面的错误。
之后不会解决,寻求大神后,给出了命令。
virt-install --name es01 --vcpus=4 --ram 16384 --accelerate --prompt --location /home/iso --disk path=/data/vm/es01.img,size=100,bus=virtio --disk path=/usr/local/src/CentOS-7-x86_64-DVD-1503-01.iso,device
=cdrom --network bridge=br0,model=virtio --extra-args "console=tty0 console=ttyS0,115200n8" –force
其中的 /home/iso 是一个挂载目录,挂载了镜像上去的。之后安装就没有问题了。
50.生产环境中mfs的metedata数据丢失问题
一次处理mfs角色的服务器时,按照正常启动的命令执行时报错,如下图。
原因是,mfs机器宕机后可能会引起元数据的丢失。需要在执行上个命令前先执行这个命令。
./mfsmetarestore -a
该命令的作用是恢复metedata。