2020年2月10日 星期一

在 Proxmox VE 上安裝 rclone 並掛載 google drive

1. 安裝 rclone
在 pve node
將 rclone copy 到 /usr/bin
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone
mkdir -p /usr/local/share/man/man1
把 rclone.1 copy 到 /usr/local/share/man/man1/
cp rclone.1 /usr/local/share/man/man1/
mandb
2. 執行 rclone config,設定 google drive 相關設定

掛載 rclone,有以下兩種方式
1. 開機自動掛載
新增 systemd 服務
mkdir /home/gd
nano /etc/systemd/system/rclone-gd.service

[Unit]
Description=rclone-gd
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount gd:/ /home/gd --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
ExecStop=/bin/fusermount -qzu /home/gd
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
mkdir /home/cam
nano /etc/systemd/system/rclone-cam.service

[Unit]
Description=rclone-cam
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount cam:/ /home/cam --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
ExecStop=/bin/fusermount -qzu /home/cam
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
變更權限
chmod 644 /etc/systemd/system/rclone-gd.service
chmod 644 /etc/systemd/system/rclone-cam.service
重新載入 systemd
systemctl daemon-reload
啟動 rclone 掛載
systemctl start rclone-gd
systemctl start rclone-cam
設定開機時啟動 rclone
systemctl enable rclone-gd
systemctl enable rclone-cam
2. 手動掛載
先安裝 screen
apt-get install screen
掛載的命令格式如下:
screen -S rclone-gd; #新建一個會話

rclone mount gd:/ /home/gd --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

Ctrl+A+D #退出會話
screen -S rclone-cam #新建一個會話

rclone mount cam:/ /home/cam --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

Ctrl+A+D #退出會話

screen -S rclone-media #新建一個會話

rclone mount media:/ /home/media --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

Ctrl+A+D& #退出會話


停止掛載
一般情况下使用Ctrl+C便可停止掛載,如果停止失败,使用如下命令停止掛載

查詢有那些會話
screen -ls
screen -r rclone-gd #恢复會話

screen -r rclone-cam #恢复會話

fusermount -qzu /home/gd #停止掛載

fusermount -qzu /home/cam

PROXMOX VE 出現錯誤訊息 proxmox unable to open file '/etc/pve/firewall/201.fw.tmp.2099' - Permission denied (500)


今早停電,復電後主機出現錯誤
PVE1, PVE2 和 Qdevice 連線
proxmox unable to open file '/etc/pve/firewall/201.fw.tmp.2099' - Permission denied (500)
解決方式
在每台PVE 打
pvecm expected 1
然後都重開機, 若碰到無法連入的就打
pve firewall stop
完工, 查狀態
pvecm status
參考資料
https://forum.proxmox.com/threads/problem-permission-etc-pve-nodes.26999/
http://blog.pulipuli.info/2014/03/proxmox-ve-cluster-repair-proxmox-ve.html

2020年2月7日 星期五

剛灌好的 windows 10 出現惱人的 NVIDIA Control Panel is not found 解決辦法及移除方式

若顯示卡是 NVIDIA 的,剛灌好的 windows 10 在右下角會出現


重點是關也關不掉也無法移除,又醜又惱人。
以下是解決方式:
1. WIN + R 執行 services.msc

2. 找到 NVIDIA Display Container LS

3. 左鍵點兩下,開啟內容,啟用類型選"已停用",服務狀態選"停止"

4. 就會發現醜醜的 NVIDIA 提示不見了,打完收工。

2020年2月6日 星期四

Ubuntu DHCP Server

sudo apt install isc-dhcp-server
修改 DHCP 設定檔
nano /etc/dhcp/dhcpd.conf
default-lease-time 3600;
max-lease-time 28800;

subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192.168.1.121 192.168.1.220;
 option subnet-mask 255.255.255.0;
 option routers          192.168.1.254;
}
重啟 DHCP SERVER
sudo systemctl restart isc-dhcp-server isc-dhcp-server6
檢查是否有啟動成功
sudo systemctl status isc-dhcp-server isc-dhcp-server6
sudo netstat -tulnp | grep dhcp

2020年2月1日 星期六

Proxmox VE two nodes + qdevice HA Cluster 雙節點叢集

在GUI 的資料中心介,有 pve1 , pve2 和 qdevice (ip : 192.168.1.30)
一般都是用 Raspberry Pi 做 qdevice,但因為剛好有台 windows 10 常開,所以我就用 windows 10 裡的 hyper-V 灌 Ubuntu 18.043 LTS Server 來當 qdevice

在  hyper-V 上安裝好 Ubuntu 後記得要為固定 IP 以及讓 SSH 允許 root 登入
nano /etc/ssh/sshd_config
修改以下內容
PermitRootLogin yes
再來安裝 corosync-qnetd
apt install -y corosync-qnetd
接著在 PVE1 和 PVE2 上安裝 corosync-qdevice
apt install -y corosync-qdevice
PVE1 及 PVE2 都裝好之後,找一台下指令
pvecm qdevice setup 192.168.1.30
執行後會發現跳出錯誤
...
..
.
INFO: start and enable corosync qdevice daemon on node 'pve1'...
Synchronizing state of corosync-qdevice.service with SysV service script with /l                                                                                                                                                             ib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable corosync-qdevice
update-rc.d: error: corosync-qdevice Default-Start contains no runlevels, aborti                                                                                                                                                             ng.
command 'ssh -o 'BatchMode=yes' -lroot 192.168.1.90 systemctl enable corosync-qd
evice' failed: exit code 1
查了許久,原來是bug!!
所以要到 PVE1 及 PVE2 修正,在 /etc/init.d/corosync-qdevice 裡找到 Default-Start 加入 2 3 4 5
### BEGIN INIT INFO
# Provides:  corosync-qdevice
# Required-Start: $remote_fs $syslog corosync
# Required-Stop: $remote_fs $syslog corosync
# Default-Start: 2 3 4 5
# Default-Stop:  0 1 6
# Short-Description: Corosync Qdevice daemon
# Description:  Starts and stops Corosync Qdevice daemon.
### END INIT INFO
然後分別在 PVE1 及 PVE2 上執行
update-rc.d -f corosync-qdevice remove
update-rc.d -f corosync-qdevice defaults
重新載入 corosync-qdevice,
載入完後, PVE1 及 PVE2 上執行 (注意!兩台 PVE HOST 都要執行)
systemctl enable corosync-qdevice.service
然後查詢狀態
pvecm status
看到有三台 vote,就設定完成
Cluster information
-------------------
Name:             LAB
Config Version:   3
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Sun Feb  2 01:38:55 2020
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000001
Ring ID:          1.150
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2
Flags:            Quorate Qdevice

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 192.168.1.90 (local)
0x00000002          1         NR 192.168.1.20
0x00000000          1            Qdevice

參考資料
Proxmox 6.1 Cluster Manager
Bug #1809682 "systemctl enable corosync-qdevice.service" fails

Proxmox VE 若不小心被防火牆擋在外面怎辦

到 command line
pve-firewall stop