zabbix serverを5.0 LTSにupdateした。

Zabbix 5.0LTSが出たのでzabbixのバージョンを上げてみました。
OSはCentOS Linux release 8.1.1911です。

現在のバージョンは

# zabbix_server -V
zabbix_server (Zabbix) 4.4.8
Revision 3d7663fd7c 27 April 2020, compilation time: Apr 27 2020 13:24:19

です。

まずは、zabbix5.0のリポジトリをサーバーにインストールします。

# dnf localinstall https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
メタデータの期限切れの最終確認: 0:32:31 時間前の 2020年05月23日 00時45分01秒 に 実施しました。
zabbix-release-5.0-1.el8.noarch.rpm 31 kB/s | 18 kB 00:00
依存関係が解決しました。
================================================================================
パッケージ Arch バージョン リポジトリー サイズ
================================================================================
アップグレード:
zabbix-release noarch 5.0-1.el8 @commandline 18 k

トランザクションの概要
================================================================================
アップグレード 1 パッケージ

合計サイズ: 18 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
アップグレード中 : zabbix-release-5.0-1.el8.noarch 1/2
整理 : zabbix-release-4.4-1.el8.noarch 2/2
検証 : zabbix-release-5.0-1.el8.noarch 1/2
検証 : zabbix-release-4.4-1.el8.noarch 2/2

アップグレード済み:
zabbix-release-5.0-1.el8.noarch

完了しました!

既存のzabbix 4.4のrepoを上書きしてくれました。

check-updateで確認します。

# dnf check-update
Zabbix Official Repository - x86_64 30 kB/s | 14 kB 00:00

zabbix-agent2.x86_64 5.0.0-1.el8 zabbix
zabbix-server-mysql.x86_64 5.0.0-1.el8 zabbix
zabbix-web.noarch 5.0.0-1.el8 zabbix
zabbix-web-japanese.noarch 5.0.0-1.el8 zabbix
zabbix-web-mysql.noarch 5.0.0-1.el8 zabbix

zabbix5.0がupdate対象として表示されました。

それでは、いよいよzabbix5.0にupdateです。

# dnf -y update
メタデータの期限切れの最終確認: 0:00:16 時間前の 2020年05月23日 01時17分51秒 に 実施しました。
依存関係が解決しました。
================================================================================
パッケージ Arch バージョン リポジトリー サイズ
================================================================================
アップグレード:
zabbix-agent2 x86_64 5.0.0-1.el8 zabbix 4.1 M
zabbix-server-mysql x86_64 5.0.0-1.el8 zabbix 2.6 M
zabbix-web noarch 5.0.0-1.el8 zabbix 3.0 M
zabbix-web-japanese noarch 5.0.0-1.el8 zabbix 16 k
zabbix-web-mysql noarch 5.0.0-1.el8 zabbix 15 k

トランザクションの概要
================================================================================
アップグレード 5 パッケージ

ダウンロードサイズの合計: 9.8 M
パッケージのダウンロード:
(1/5): zabbix-server-mysql-5.0.0-1.el8.x86_64.r 2.5 MB/s | 2.6 MB 00:01
(2/5): zabbix-web-5.0.0-1.el8.noarch.rpm 2.6 MB/s | 3.0 MB 00:01
(3/5): zabbix-web-japanese-5.0.0-1.el8.noarch.r 142 kB/s | 16 kB 00:00
(4/5): zabbix-web-mysql-5.0.0-1.el8.noarch.rpm 135 kB/s | 15 kB 00:00
(5/5): zabbix-agent2-5.0.0-1.el8.x86_64.rpm 3.2 MB/s | 4.1 MB 00:01
--------------------------------------------------------------------------------
合計 7.6 MB/s | 9.8 MB 00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
scriptletの実行中: zabbix-web-mysql-5.0.0-1.el8.noarch 1/1
アップグレード中 : zabbix-web-mysql-5.0.0-1.el8.noarch 1/10
アップグレード中 : zabbix-web-5.0.0-1.el8.noarch 2/10
scriptletの実行中: zabbix-web-5.0.0-1.el8.noarch 2/10
アップグレード中 : zabbix-web-japanese-5.0.0-1.el8.noarch 3/10
scriptletの実行中: zabbix-web-japanese-5.0.0-1.el8.noarch 3/10
scriptletの実行中: zabbix-server-mysql-5.0.0-1.el8.x86_64 4/10
アップグレード中 : zabbix-server-mysql-5.0.0-1.el8.x86_64 4/10
警告: /etc/zabbix/zabbix_server.conf は /etc/zabbix/zabbix_server.conf.rpmnew として作成されました。

scriptletの実行中: zabbix-server-mysql-5.0.0-1.el8.x86_64 4/10
scriptletの実行中: zabbix-agent2-5.0.0-1.el8.x86_64 5/10
アップグレード中 : zabbix-agent2-5.0.0-1.el8.x86_64 5/10
警告: /etc/zabbix/zabbix_agent2.conf は /etc/zabbix/zabbix_agent2.conf.rpmnew として作成されました。

scriptletの実行中: zabbix-agent2-5.0.0-1.el8.x86_64 5/10
scriptletの実行中: zabbix-web-japanese-4.4.8-1.el8.noarch 6/10
整理 : zabbix-web-japanese-4.4.8-1.el8.noarch 6/10
scriptletの実行中: zabbix-web-4.4.8-1.el8.noarch 7/10
整理 : zabbix-web-4.4.8-1.el8.noarch 7/10
整理 : zabbix-web-mysql-4.4.8-1.el8.noarch 8/10
scriptletの実行中: zabbix-server-mysql-4.4.8-1.el8.x86_64 9/10
整理 : zabbix-server-mysql-4.4.8-1.el8.x86_64 9/10
scriptletの実行中: zabbix-server-mysql-4.4.8-1.el8.x86_64 9/10
scriptletの実行中: zabbix-agent2-4.4.8-1.el8.x86_64 10/10
整理 : zabbix-agent2-4.4.8-1.el8.x86_64 10/10
scriptletの実行中: zabbix-agent2-4.4.8-1.el8.x86_64 10/10
検証 : zabbix-agent2-5.0.0-1.el8.x86_64 1/10
検証 : zabbix-agent2-4.4.8-1.el8.x86_64 2/10
検証 : zabbix-server-mysql-5.0.0-1.el8.x86_64 3/10
検証 : zabbix-server-mysql-4.4.8-1.el8.x86_64 4/10
検証 : zabbix-web-5.0.0-1.el8.noarch 5/10
検証 : zabbix-web-4.4.8-1.el8.noarch 6/10
検証 : zabbix-web-japanese-5.0.0-1.el8.noarch 7/10
検証 : zabbix-web-japanese-4.4.8-1.el8.noarch 8/10
検証 : zabbix-web-mysql-5.0.0-1.el8.noarch 9/10
検証 : zabbix-web-mysql-4.4.8-1.el8.noarch 10/10

アップグレード済み:
zabbix-agent2-5.0.0-1.el8.x86_64 zabbix-server-mysql-5.0.0-1.el8.x86_64
zabbix-web-5.0.0-1.el8.noarch zabbix-web-japanese-5.0.0-1.el8.noarch
zabbix-web-mysql-5.0.0-1.el8.noarch

完了しました!

バージョン確認

# zabbix_server -V
zabbix_server (Zabbix) 5.0.0
Revision 9665d62db0 11 May 2020, compilation time: May 11 2020 14:31:28

何事もなく完了しました。
しかし、GUIのレイアウトが変わったので操作に戸惑いそうです。。

zabbix-serverが起動に失敗する。

構築時は普通に稼働していたzabbix-serverですが、
監視対象を追加していくと、ある時からzabbixが落ちる→起動失敗が連続していた。
手動でzabbix-serverを起動しようとしても無理なので対処。

環境はこんな感じ

# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
# rpm -qa | grep zabbix
zabbix-server-mysql-4.4.8-1.el8.x86_64
zabbix-web-4.4.8-1.el8.noarch
zabbix-web-japanese-4.4.8-1.el8.noarch
zabbix-web-mysql-4.4.8-1.el8.noarch
zabbix-agent2-4.4.8-1.el8.x86_64
zabbix-release-4.4-1.el8.noarch

ログを見ると

May 7 16:21:19 hogehoge1 systemd[1]: zabbix-server.service: Control process exited, code=exited status=1
May 7 16:21:19 hogehoge1 systemd[1]: zabbix-server.service: Failed with result 'exit-code'.
May 7 16:21:29 hogehoge1 systemd[1]: zabbix-server.service: Service RestartSec=10s expired, scheduling restart.
May 7 16:21:29 hogehoge1 systemd[1]: zabbix-server.service: Scheduled restart job, restart counter is at 6.
May 7 16:21:29 hogehoge1 systemd[1]: Stopped Zabbix Server.
May 7 16:21:29 hogehoge1 systemd[1]: Starting Zabbix Server...
May 7 16:21:29 hogehoge1 systemd[1]: zabbix-server.service: Can't open PID file /run/zabbix/zabbix_server.pid (yet?) after start: No such file or directory
May 7 16:21:29 hogehoge1 systemd[1]: zabbix-server.service: Supervising process 120150 which is not our child. We'll most likely not notice when it exits.
May 7 16:21:29 hogehoge1 systemd[1]: Started Zabbix Server.
May 7 16:21:29 hogehoge1 kill[120153]: kill: 十分な引数がありません
May 7 16:21:29 hogehoge1 systemd[1]: zabbix-server.service: Control process exited, code=exited status=1
May 7 16:21:29 hogehoge1 systemd[1]: zabbix-server.service: Failed with result 'exit-code'.

こんな感じでsystemdの自動再起動が走ってコケてを繰り返しています。

監視対象追加が起因していると思われますのでzabbixの設定を見てみます。

/etc/zabbix/zabbix_server.conf

のCacheSizeが
デフォルトのままでしたので32Mに増やします。

### Option: CacheSize
# Size of configuration cache, in bytes.
# Shared memory size for storing host, item and trigger data.
#
# Mandatory: no
# Range: 128K-8G
# Default:
# CacheSize=8M
CacheSize=32M

これで、zabbix-serverの起動が出来るようになりました。

ハンコン用に滑り止めシートを買った。

久々にハンコンを引っ張り出してグランツーリスモSPORTをやってましたが
ハンコンスタンドが滑るんで滑り止めシートを買いました。

購入したのは
「DearMin 家具 滑り止めシート フィットストップ 自由にカットして 地震対策 10x8cm 4枚入り」
という商品

届いた商品はこちら




中身です。

取り合えずハンコンスタンドのハンドル側に2枚張って試しました。

実際にブレーキをフルパワーでかけた所・・・まったく滑りません・・ 超安定しました。
これはいい感じです!!

ただ、粘着力が強力な為、張ってから剥がすとこうなります・・。

MariaDB 10.5.2をインストールしてみた。

先日リリースされたMariaDB 10.5.2をインストールしてみた。

現時点では、Do not use beta releases in production!と書かれており注意です。

参考にしたのはMariaDB公式サイト
悩むことなくインストールできました。
入れたOSは↓

# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)


それでは作業開始
.repoを作ります。

# vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.5 CentOS repository list - created 2020-04-14 13:37 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos8-amd64
module_hotfixes=1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

続きを読む "MariaDB 10.5.2をインストールしてみた。"

sshfsでリモートでサーバーのディレクトリをmountしてみた。

sshfsでリモートサーバーのディレクトリをmountしてみました。
使用したOSはCentOS7です。
mountする領域は
クライアントが/mnt/hoge1
サーバーが192.168.100.50 /mnt/hoge2

まずはepel-repoをインストール

# yum install epel-release -y


次にsshfsをインストール

# yum install --enablerepo=epel sshfs -y

ローカル環境なので簡単にクライアントからサーバーへパス無しログイン設定をします。

# ssh-copy-id root@192.168.100.50

サーバー側でクライアントからのmount許可設定をします。

# vim /etc/exports
/mnt/hoge2 192.168.100.50/255.255.255.255(rw,no_root_squash,no_subtree_check)

設定反映

# exportfs -ra

次にクライアント側のmount設定をします。

# vim /etc/fstab
192.168.100.50:/mnt/hoge1 /mnt/hoge2 fuse.sshfs defaults,_netdev 0 0

手動でやるときは

# sshfs root@192.168.100.50:/mnt/hoge1 /mnt/hoge2

マウント確認

# mount -a

マウントできてれば完了

nutanix VMのディスクをIDEからSCSIに変換してみた。

IDEで作ったNutanix上のVMをscsiに変換してみた。
念のため作業前にVMのsnap shotは取得しておきます。

まずは、Nutanix clusterのCVMに入り対象を確認

# acli
vm.get hoge-vm-01
hoge-vm-01 {
config {
agent_vm: False
allow_live_migrate: True
boot {
device {
disk_addr {
bus: "ide"
index: 1
}
}
uefi_boot: False
}
disk_list {
addr {
bus: "ide"
index: 0
}
cdrom: True
device_uuid: "31334ace-7c53-464d-9492-f5ea86e49ce6"
empty: True
}
disk_list {
addr {
bus: "ide" ←変換対象はこれ
index: 1
}
container_id: 66602
container_uuid: "3772c06c-d082-4300-82d7-bf61bbe31af0"
device_uuid: "ffc51c77-bf6e-435b-8740-a9c002d1128e"
naa_id: "naa.6506b8d305671382c9c7b5660af464f1"
source_vmdisk_uuid: "4237633a-d01e-40e1-b5d5-31771e64ee73"
vmdisk_size: 57982058496
vmdisk_uuid: "f4a8ba40-2610-4470-b6f1-11019bb55585"
}
hwclock_timezone: "UTC"
memory_mb: 4096
name: "hoge-vm-01"
nic_list {
mac_addr: "50:6b:8d:88:9e:a1"
network_name: "VLAN2"
network_type: "kNativeNetwork"
network_uuid: "8da3d3f7-109f-447c-95bf-c82219bc93ad"
type: "kNormalNic"
uuid: "58637f42-1938-4245-adee-77f44e3b5a78"
vlan_mode: "kAccess"
}
num_cores_per_vcpu: 1
num_threads_per_core: 1
num_vcpus: 2
num_vnuma_nodes: 0
}
host_name: "172.16.40.6"
host_uuid: "d44d53c3-ffa5-4abe-9d18-07232d3cbfd9"
logical_timestamp: 58
state: "kOn"
uuid: "a01ec35d-23c9-4543-938c-c16f59807473"
}

対象が分かったらideからscsiに変換します。

vm.disk_create hoge-vm-01 bus=scsi clone_from_vmdisk=vm:hoge-vm-01:ide.1
DiskCreate: complete

確認します。

vm.get hoge-vm-01
hoge-vm-01 {
config {
agent_vm: False
allow_live_migrate: True
boot {
device {
disk_addr {
bus: "ide"
index: 1
}
}
uefi_boot: False
}
disk_list {
addr {
bus: "ide"
index: 0
}
cdrom: True
device_uuid: "31334ace-7c53-464d-9492-f5ea86e49ce6"
empty: True
}
disk_list {
addr {
bus: "ide"
index: 1
}
container_id: 66602
container_uuid: "3772c06c-d082-4300-82d7-bf61bbe31af0"
device_uuid: "ffc51c77-bf6e-435b-8740-a9c002d1128e"
naa_id: "naa.6506b8d305671382c9c7b5660af464f1"
source_vmdisk_uuid: "4237633a-d01e-40e1-b5d5-31771e64ee73"
vmdisk_size: 57982058496
vmdisk_uuid: "f4a8ba40-2610-4470-b6f1-11019bb55585"
}
disk_list {
addr {
bus: "scsi" ←scsiにてclone
index: 0
}
container_id: 66602
container_uuid: "3772c06c-d082-4300-82d7-bf61bbe31af0"
device_uuid: "cce3f4e3-9b67-499e-a9c5-965ab30207d2"
naa_id: "naa.6506b8dd156861c3f39cfde644856f40"
source_vmdisk_uuid: "f4a8ba40-2610-4470-b6f1-11019bb55585"
vmdisk_size: 57982058496
vmdisk_uuid: "cb4fcb59-b217-4eec-b146-0697ae25afb7"
}
hwclock_timezone: "UTC"
memory_mb: 4096
name: "hoge-vm-01"
nic_list {
mac_addr: "50:6b:8d:88:9e:a1"
network_name: "VLAN2"
network_type: "kNativeNetwork"
network_uuid: "8da3d3f7-109f-447c-95bf-c82219bc93ad"
type: "kNormalNic"
uuid: "58637f42-1938-4245-adee-77f44e3b5a78"
vlan_mode: "kAccess"
}
num_cores_per_vcpu: 1
num_threads_per_core: 1
num_vcpus: 2
num_vnuma_nodes: 0
}
logical_timestamp: 59
state: "kOff"
uuid: "a01ec35d-23c9-4543-938c-c16f59807473"
}

変換できてるようです。

元のディスクを削除します。
タブ連打で出てくるのでacliのコマンドモードは便利です。

vm.disk_delete hoge-vm-01 disk_addr=
ide.0 ide.1 scsi.0
vm.disk_delete hoge-vm-01 disk_addr=ide.1
Delete existing disk? (yes/no) yes
DiskDelete: complete

再度確認

vm.get hoge-vm-01
hoge-vm-01 {
config {
agent_vm: False
allow_live_migrate: True
disk_list {
addr {
bus: "ide"
index: 0
}
cdrom: True
device_uuid: "31334ace-7c53-464d-9492-f5ea86e49ce6"
empty: True
}
disk_list {
addr {
bus: "scsi"
index: 0
}
container_id: 66602
container_uuid: "3772c06c-d082-4300-82d7-bf61bbe31af0"
device_uuid: "cce3f4e3-9b67-499e-a9c5-965ab30207d2"
naa_id: "naa.6506b8dd156861c3f39cfde644856f40"
source_vmdisk_uuid: "f4a8ba40-2610-4470-b6f1-11019bb55585"
vmdisk_size: 57982058496
vmdisk_uuid: "cb4fcb59-b217-4eec-b146-0697ae25afb7"
}
hwclock_timezone: "UTC"
memory_mb: 4096
name: "hoge-vm-01"
nic_list {
mac_addr: "50:6b:8d:88:9e:a1"
network_name: "VLAN2"
network_type: "kNativeNetwork"
network_uuid: "8da3d3f7-109f-447c-95bf-c82219bc93ad"
type: "kNormalNic"
uuid: "58637f42-1938-4245-adee-77f44e3b5a78"
vlan_mode: "kAccess"
}
num_cores_per_vcpu: 1
num_threads_per_core: 1
num_vcpus: 2
num_vnuma_nodes: 0
}
logical_timestamp: 60
state: "kOff"
uuid: "a01ec35d-23c9-4543-938c-c16f59807473"

変換完了です。

CentOS 8でKubernetes Clusterを構築してみた_2

前回CentOS 8でKubernetes Clusterを構築してみた_1でmaster nodeの構築が終わったので、Worker Nodeサーバーを構築します。

selinux・firewalld・swapは無効・hostsに追記・docker・kubeadm をインストールする所まではmasterサーバーと同様です。
自分はKVMのcloneでnode用のサーバーを2台構築しました。


前回masterサーバーでkubeadm initを実行して表示されたkubeadm join~の結果をコピペします。

# kubeadm join 192.168.5.101:6443 --token vb94zf.j2un0ry3aunvx9y3 --discovery-token-ca-cert-hash sha256:f42734223e79931159a470fe37a27677c51bcca051feccefbb8a050fbbfcad43
W0318 23:57:21.802582 1546 join.go:346] [preflight] WARNING: JoinControlPane.controlPlane settings will be ignored when control-plane flag is not set.
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[WARNING FileExisting-tc]: tc not found in system path

error execution phase preflight: couldn't validate the identity of the API Server: abort connecting to API servers after timeout of 5m0s
To see the stack trace of this error execute with --v=5 or higher

コケました。。

nodeからmasterへのpingの疎通は問題ありません。
masterでtokenを再確認します。

[root@master ~]# kubeadm token list

何も表示されません。
tokenを再作成します。

[root@master ~]# kubeadm token create --ttl 0
W0319 00:23:48.794101 21520 validation.go:28] Cannot validate kube-proxy config - no validator is available
W0319 00:23:48.794139 21520 validation.go:28] Cannot validate kubelet config - no validator is available
77m1r6.thccq5p3w9a0513z
[root@master ~]# kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
77m1r6.thccq5p3w9a0513z authentication,signing system:bootstrappers:kubeadm:default-node-token

出来たようなので再度nodeサーバーでjoinしてみます。

# kubeadm join 192.168.5.101:6443 --token 77m1r6.thccq5p3w9a0513z --discovery-token-ca-cert-hash sha256:f42734223e79931159a470fe37a27677c51bcca051feccefbb8a050fbbfcad43
W0319 21:59:35.792352 1067 join.go:346] [preflight] WARNING: JoinControlPane.controlPlane settings will be ignored when control-plane flag is not set.
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[WARNING FileExisting-tc]: tc not found in system path
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[kubelet-start] Downloading configuration for the kubelet from the "kubelet-config-1.17" ConfigMap in the kube-system namespace
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...

This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

うまく行ったようなのでmasterで確認します。

[root@master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master.hoge.net Ready master 2d22h v1.17.4
node-01.hoge.net Ready 21h v1.17.4

無事にnodeが追加されました。

同様にもう一台node用のサーバーを構築しjoinをします。

[root@master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master.hoge.net Ready master 6d22h v1.17.4
node-01.hoge.net Ready 4d21h v1.17.4
node-02.hoge.net Ready 4d v1.17.4

これで、master1台node2台のKubernetes Clusterができました。