Home avatar

Mulinux运维

乾坤未定,你我皆是黑马。

核心技术栈

Linux Docker Kubernetes Nginx MySQL Redis Python Golang ⚙️ Ansible 📊 Zabbix

CentOS7 LVM扩容

创建基于分区的LV

1
2
3
4
5
6
7
fdisk /dev/vda
n
p
1
t
8e
w

创建基于分区的物理卷

1
pvcreate /dev/vda3 

创建卷组

1
vgcreate soft /dev/sdb1	# 此次操作为扩容,不需创建

将新的物理卷添加到现有卷组

1
2
3
4
5
vgextend centos /dev/vda3 
vgs
lvs
lvextend -L 299.49G /dev/mapper/centos-root 
xfs_growfs /dev/mapper/centos-root 

参考:https://www.cnblogs.com/zhaojingyu/p/11647706.html

使用FPM制作ARM平台ZabbixAgent RPM包

安装fpm/rpm-build

1
2
3
4
5
6
7
yum install ruby ruby-devel rubygems rpm-build
https://gems.ruby-china.com/
gem sources --remove http://rubygems.org/
gem sources --add https://gems.ruby-china.com/
gem sources -l
gem install fpm
yum install -y rpm-build

制作RPM包

ZabbixAgent

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
https://cdn.zabbix.com/zabbix/sources/oldstable/4.2/
yum install -y rpm-build
tar zxf zabbix-4.2.8.tar.gz
cd zabbix-4.2.8
vi misc/init.d/tru64/zabbix_agentd
变更1:在#!/bin/sh下面添加两行
    #chkconfig: 345 95 95
    #description: Zabbix_Agent
变更2:修改启动位置
将DAEMON=/usr/local/sbin/zabbix_agentd改为DAEMON=/usr/local/zabbix-agent/sbin/zabbix_agentd
./configure --prefix=/usr/local/zabbix-agent --enable-agent
make
make install
cp misc/init.d/tru64/zabbix_agentd /usr/local/zabbix-agent/zabbix-agent

vi /home/mds/after-install.sh
#!/bin/bash
source /etc/rc.d/init.d/functions
groupadd zabbix
useradd -M -g zabbix zabbix -s /sbin/nologin
mv /usr/local/zabbix-agent/zabbix-agent /etc/init.d/
chmod +x /etc/init.d/zabbix-agent
mkdir -p /var/log/zabbix
chmod -R 755 /var/log/zabbix/
chown -R zabbix. /var/log/zabbix/
chmod -R 755 /usr/local/zabbix-agent/
chown -R zabbix. /usr/local/zabbix-agent/
chkconfig --add zabbix-agent

exit $?


vi /home/mds/after-remove.sh
#!/bin/bash
source /etc/rc.d/init.d/functions
rm -rf /usr/local/zabbix-agent/
rm -f /etc/init.d/zabbix-agent
userdel zabbix
exit $?

fpm -s dir -t rpm --vendor CentOS7.7 -n zabbix-agent -v 4.2.8 -d 'pcre,pcre-devel' -C /usr/local/zabbix-agent/ --prefix /usr/local/zabbix-agent/ --after-install /home/mds/after-install.sh --after-remove /home/mds/after-remove.sh

ZabbixProxy

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
dnf install mysql5-server mysql5-devel mysql5 net-snmp-devel libevent-devel curl-devel
./configure --prefix=/usr/local/zabbix-proxy --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-libxml2


# cat /home/mds/after-install.sh
#!/bin/bash
source /etc/rc.d/init.d/functions
groupadd zabbix
useradd -M -g zabbix zabbix -s /sbin/nologin
mv /usr/local/zabbix-proxy/zabbix-proxy /etc/init.d/
chmod +x /etc/init.d/zabbix-proxy
mkdir -p /var/log/zabbix
chmod -R 755 /var/log/zabbix/
chown -R zabbix. /var/log/zabbix/
chmod -R 755 /usr/local/zabbix-proxy/
chown -R zabbix. /usr/local/zabbix-proxy/
chkconfig --add zabbix-proxy
exit $?


# cat /home/mds/after-remove.sh
#!/bin/bash
source /etc/rc.d/init.d/functions
rm -rf /usr/local/zabbix-proxy/
rm -f /etc/init.d/zabbix-proxy
userdel zabbix
exit $?


fpm -s dir -t rpm --vendor openEuler20.03 -n zabbix-proxy -v 4.2.8 -d 'net-snmp-devel,libevent-devel,curl-devel' -C /usr/local/zabbix-proxy/ --prefix /usr/local/zabbix-proxy/ --after-install /home/mds/after-install.sh --after-remove /home/mds/after-remove.sh

create database zabbixproxy character set utf8 collate utf8_bin;
grant all privileges on zabbixproxy.* to zabbixproxy@'127.0.0.1' identified by 'zabbixproxy';
set names utf8;
use zabbixproxy;
source /root/zabbix-4.2.8/database/mysql/schema.sql

Use Kvm

CentOS6部署kvm

安装

1
yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64 python-virtinst.noarch qemu-img.x86_64 bridge-utils.x86_64 libvirt virt-manager yum -y groupinstall "desktop"

桥接网卡

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
[root@KVM-PM ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
#HWADDR=52:54:00:57:40:40
TYPE=Ethernet
#UUID=fe15211b-a8fd-4497-9359-d57c792ff8e2
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=172.16.1.11
NETMASK=255.255.0.0
BRIDGE="br0"
[root@KVM-PM ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.168.110
NETMASK=255.255.255.0
GATEWAY=192.168.168.1

CentOS7部署KVM

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
yum groupinstall "fonts" "compat-libraries" "core" "development" "guest-agents" "virtualization-client" "virtualization-platform" "virtualization-tools"
yum install qemu-kvm python-virtinst virt-manager virt-top virt-viewer libvirt libvirt-client libvirt-python libguestfs-tools virt-install qemu-kvm-tools bridge-utils wget net-tools dejavu-lgc-sans-fonts xorg-x11-xauth xorg-x11-xinit xorg-x11-server-utils xorg-x11-font-utils xorg-x11-drv-ati-firmware
yum install virt-manager
yum install libvirt
yum info libvirtd
yum info libvirt
yum install qemu-kvm
yum install qemu-kvm-tools
service libvirtd start
systemctl start  libvirtd.service
systemctl enable  libvirtd.service
yum install xorg-x11-xauth
yum install xorg-x11-xauth xorg-x11-xinit xorg-x11-server-utils xorg-x11-font-utils xorg-x11-drv-ati-firmware
virt-manager
yum install dejavu-lgc-sans-fonts
yum install qemu-kvm libvirt virt-install bridge-utils
lsmod|grep kvm
brctl show
route
ip addr
yum install -y wget
yum install -y net-tools
cd /usr/local/src/
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install -y virtio-win
virt-manager

桥接网卡

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[root@a43sv ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp5s0 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp5s0
UUID=557dfc61-71cf-4d38-86b3-2f135f862e54
DEVICE=enp5s0
ONBOOT=yes
BRIDGE=br0
[root@a43sv ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 
DEVICE=br0
TYPE="Bridge"
BOOTPROTO="static"
ONBOOT="yes"
DELAY="0"
STP="yes"
IPADDR=192.168.168.76
NETMASK=255.255.255.0
GATEWAY=192.168.168.1
DNS1=114.114.114.114
DNS2=129.29.29.29
NM_CONTROLLED=no

命令行创建windows2016

1
2
3
4
5
6
7
8
9
virt-install \
--name w2k16 \
--os-type=windows \
--ram=2048 --vcpus=2 \
--disk /home/images/w2k16.qcow2,bus=virtio,size=50 \
--disk /home/images/virtio-win-0.1.171_amd64.vfd,device=floppy \
--cdrom=/home/images/cn_windows_server_2016_x64_dvd_9718765.iso \
--network bridge=br0,model=virtio \
--virt-type kvm

收缩镜像

1
2
3
qemu-img convert -c -O qcow2 test.qcow2 test2.qcow2 # test2.qcow2是目标镜像
qemu-img convert -O qcow2 windows.qcow2 windows_new.qcow2
virt-sparsify --compress /tmp/centos.qcow2 centos-new.qcow2

清除网络相关硬件生成信息

1
virt-sysprep -d centos7

Ubuntu Jupyter Notebook配置golang和python

Jupyter配置golang和python

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
sudo apt install golang
go env
jupyter kernelspec list
python --version
conda create -n py27 python=2.7
conda create -n py27 python=2.7 ipykernel
conda install --prefix=/home/mulinux/anaconda3/envs/py27 ipykernel
sudo apt-get install python2-pip
wget http://bootstrap.pypa.io/get-pip.py
sudo python2.7 get-pip.py
sudo pip2 install ipykernel
/root/anaconda3/envs/py27/bin/pip install backports.functools_lru_cache
/root/anaconda3/envs/py27/bin/pip install tornado==4.5.3
python2.7 -m ipykernel install --user
sudo apt-get install libzmq3-dev
sudo apt-get install pkg-config
go get -u github.com/gopherdata/gophernotes
mkdir -p ~/.local/share/jupyter/kernels/gophernotes
cp /home/mulinux/go/src/github.com/gopherdata/gophernotes/kernel/* ~/.local/share/jupyter/kernels/gophernotes
cd ~/.local/share/jupyter/kernels/gophernotes
chmod +w kernel.json
sudo ln -s $HOME/go/bin/gophernotes /usr/bin/gophernotes
gophernotes

sudo apt-get remove golang libzmq3-dev
清理系统:
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
sudo rm -rf /usr/lib/go-1.10
sudo rm -rf /home/mulinux/go
wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
export PATH=$PATH:/usr/local/go/bin

备注

jupyter notebook下不支持 package main和main函数的写法,会报runtime error: index out of range

Powershell执行update-Help报错

报错信息

1
2
3
4
5
6
Update-Help : 无法更新带有 UI 区域性 {zh-CN} 的模块“WindowsUpdateProvider”帮助: 在 HelpInfo XML 文件中检索不到 UI 区域性 zh-CN。确保模块清单中的 HelpInfoUri 属性有效或检查网络连接是否正常,然后重试该命令。
所在位置 行:1 字符: 1
+ Update-Help -Force
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (:) [Update-Help], Exception
    + FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.UpdateHelpCommand

解决办法

Update-Help -ErrorAction SilentlyContinue