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

2020年1月31日 星期五

Proxmox VE登入web GUI時,移除 “No Valid Subscription”的提示


Proxmox VE是個很不錯的開源虛擬化平台,每個人都可以免費地roxmox VE是個很不錯的開源虛擬化平台,每個人都可以免費地使用它,然而若沒有訂閱企業版,每次登錄 Web GUI 管理時都會出現一個“No Valid Subscription(無有效訂閱)”的提示:“You do not have a valid subscription for this server. Please visit  www.proxmox.com  to get a list of available options.”。要點“確定”或關閉它才能繼續訪問。

You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.

移除方法很簡單,修改一個文件就可以取消掉這個提示。

目前在 Proxmox VE 5.1 以上都有效(包括 Proxmox VE 6.1.5 )

其中,5.1版的文件為“/usr/share/pve-manager/js/pvemanagerlib.js”,5.3以上的版本,文件換成了“ / usr / share / javascript / proxmox – widget – toolkit / proxmoxlib . js”。把其中的認購狀態檢查的判斷代碼修改一下即可,修改方法如下:

找到“if (data.status !== 'Active') {”,將其修改為“if (false) {”,建議在修改前應該備份好原本的文件。

然後存檔,再重啟 Proxmox VE 網頁服務
systemctl restart pveproxy
然後再登出 GUI 管理介面, CTRL+F5重新登入即可。

變更 mysql 資料庫數據的路徑

在 mysql 裡,查看當前的儲存路徑:
mysql> show variables like 'datadir';
停止 mysql 服務
service mysql stop
建立新的儲存路徑:
mkdir -p /data/mysql
複製 mysql 原來的資料
cp -rp /var/lib/mysql/* /data/mysql
chown -R mysql.mysql /data/mysql
chmod -R 700 /data/mysql
修改 mysql 配置文件
nano /etc/mysql/mysql.conf.d/mysqld.cnf
修改
datadir = /var/lib/mysql
為
datadir = /data/mysql
啟動 mysql 服務
service mysql start