原來windows也有port forward重新導向的功能
netsh interface portproxy add v4tov4 listenport=<本機port> listenaddress=<本機ip> connectport=<forward ip port> connectaddress=<forward ip>
netsh interface portproxy add v4tov4 listenport=<本機port> listenaddress=<本機ip> connectport=<forward ip port> connectaddress=<forward ip>
其實我也很不懂vim的v-mode , virsual mode , 反正屎用docker時候, 好多container 需要另外安裝vim ,
安裝結束後, 我就卡關了 XD ,
因為我習慣按滑鼠右鍵, 就把複製的文字貼上去 , 但是常常出現(insert) virsual 錯誤無法貼上
網上找了好久, 找到一種方式, 輸入 set mouse-=a , 就可以解決了
rsync -avhW --no-compress --progress /src/ /dst/
2022/9/15
—
後來發現需要加上 –delete 才能真正完成同步(也就是來源目錄或檔案刪除, 備份端也跟著同步刪除)
rsync -avhW --delete --no-compress --progress /src/ /dst/
1. 查看系統是否載入nbd模組, 若沒有就載入
#查看 lsmod |grep nbd #載入 modprobe nbd max_part=16
2. 掛載
qemu-nbd -c /dev/nbd0 xxxx.qcow2
3.fdisk查看/dev/nbd0
fdisk /dev/nbd0
查看zfs的狀態
root@pve:/dev/zvol/zdata# zpool status
pool: zdata
state: ONLINE
scan: scrub repaired 0B in 2h35m with 0 errors on Sun Mar 8 02:59:48 2020
config:
NAME STATE READ WRITE CKSUM zdata ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 wwn-0xDC_WD10EZEX-08WN4A0_WD-WCC6Y3LRYL6X ONLINE 0 0 0 wwn-0xDC_WD10EZEX-08WN4A0_WD-WCC6Y2SYFNY2 ONLINE 0 0 0
errors: No known data errors
查看zfs的檔案
root@pve:/dev/zvol/zdata# zfs list -t volume NAME USED AVAIL REFER MOUNTPOINT zdata/vm-100-disk-0 33.0G 175G 56K - zdata/vm-100-disk-1 683G 142G 683G - zdata/vm-101-disk-0 27.0G 142G 27.0G - zdata/vm-102-disk-0 10.3G 142G 10.3G - zdata/vm-103-disk-0 4.12G 142G 4.12G -
刪除某個vm, 但是失敗
root@pve:/dev/zvol/zdata# zfs destroy zdata/vm-103-disk-0 cannot destroy 'zdata/vm-103-disk-0': dataset is busy
停用 multipathd 服務, 然後再刪除看看, 結果成功
root@pve:/dev/zvol/zdata# systemctl stop multipathd.service Warning: Stopping multipathd.service, but it can still be activated by: multipathd.socket root@pve:/dev/zvol/zdata# zfs destroy zdata/vm-103-disk-0 root@pve:/dev/zvol/zdata# zfs list -t volume NAME USED AVAIL REFER MOUNTPOINT zdata/vm-100-disk-0 33.0G 179G 56K - zdata/vm-100-disk-1 683G 146G 683G - zdata/vm-101-disk-0 27.0G 146G 27.0G - zdata/vm-102-disk-0 10.3G 146G 10.3G - root@pve:/dev/zvol/zdata#
pve預設使用LV(Logical Volume), 所以可以使用指令的方式查詢目前磁碟劃分的狀態
root@pve:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data pve twi-aotz-- 339.33g 0.00 0.04
root pve -wi-ao---- 96.00g
swap pve -wi-ao---- 7.00g
pve預設使用 /dev/pve/data 掛載 lvm-thin , 因此移除掉(請先確認無任何資料)
root@pve:~# lvremove /dev/pve/data
查看還有多少可用空間
root@pve:~# vgdisplay pve --- Volume group --- VG Name pve System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 32 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 465.26 GiB PE Size 4.00 MiB Total PE 119106 Alloc PE / Size 26368 / 103.00 GiB Free PE / Size 92738 / 362.26 GiB VG UUID PGiSeZ-0yrO-lWUb-GWae-k307-5GPS-UTWXfN
將多出來的空間建立新的lv , 建立之後就可以針對 /dev/pve/data 格式化成ext4
root@pve:~# lvcreate -l 92738 -n data pve WARNING: dos signature detected on /dev/pve/data at offset 510. Wipe it? [y/n]: y Wiping dos signature on /dev/pve/data. Logical volume "data" created. root@pve:~# mkfs.ext4 /dev/pve/data
最後再mapping到系統的/data目錄 , 並且寫在/etc/fstab 以後開機自動掛載
root@pve:~# mkdir /data root@pve:~# mount /dev/pve/data /data root@pve:~# blkid|grep pve-data /dev/mapper/pve-data: UUID="1560ee98-1a51-4673-b117-807c8b353fc2" TYPE="ext4" root@pve:~# more /etc/fstab UUID="1560ee98-1a51-4673-b117-807c8b353fc2" /data ext4 defaults 0 1
安裝v2ray之前,你必須符合以下基本技術基礎
你也必須準備以下軟硬體
開始安裝
1. 安裝v2ray
到這個神人網站 https://github.com/sprov065/v2-ui/
一鍵安裝
bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
2. 安裝完畢網站預設是 http://ip:65432 預設帳號密碼都是admin , 記得登入修改密碼
3. 以下示範兩種連線, 一種http/2(h2), 另一種透過apache httpd(port 443)代理連到後端websocket
3.1 設定 h2 連線
Server:
client:
v2ray初體驗-使用v2-ui初階安裝
3.2
Server 設定:
Clinet 設定:
websocket , port 用443, 要輸入tls
apache httpd 設定:
ServerName xxx
ErrorLog /var/log/httpd/ssl_error_log1
TransferLog /var/log/httpd/ssl_access_log1
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/letsencrypt/live/xxx/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxx/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/xxx/fullchain.pem
## v2-ui management
RewriteEngine On
ProxyPass / http://localhost:65432/
ProxyPassReverse / http://localhost:65432/
## server
RewriteRule /ray/(.*) ws://localhost:1234/$1 [P,L]
RewriteCond %{HTTP:Upgrade} =websocket [NC]
ProxyPass /ray/ http://localhost:1234/
ProxyPassReverse /ray/ http://localhost:1234/
4. 心得
若是使用3.1 , 使用httpd/2的方式
若是使用3.2可以看起來像是https的存取
5. 額外指令
v2-ui - 显示管理菜单 (功能更多) v2-ui start - 启动 v2-ui 面板 v2-ui stop - 停止 v2-ui 面板 v2-ui restart - 重启 v2-ui 面板 v2-ui status - 查看 v2-ui 状态 v2-ui enable - 设置 v2-ui 开机自启 v2-ui disable - 取消 v2-ui 开机自启 v2-ui log - 查看 v2-ui 日志 v2-ui update - 更新 v2-ui 面板 v2-ui install - 安装 v2-ui 面板 v2-ui uninstall - 卸载 v2-ui 面板
避免出現以下錯誤:
warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
設定如下:
Terminal > Preferences > Profiles > Advanced > Set locale environment variables on startup 將勾勾拿掉就不會出現錯誤
一般來說有些需要保護的web service,可以躲到httpd proxy背後, 好處如下:
這些在背後的service 通常只要讓httpd proxy 知道該service本地端的ip&port 就能存取, 並且晉升https的行列,非常方便.
基本上調整如下:
<VirtualHost *:443> ServerName xxx.yyy.com ErrorLog /var/log/httpd/ssl_error_log1 TransferLog /var/log/httpd/ssl_access_log1 SSLEngine On SSLProxyEngine On SSLCertificateFile /etc/letsencrypt/live/xxx.yyy.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/xxx.yyy.com/privkey.pem SSLCACertificateFile /etc/letsencrypt/live/xxx.yyy.com/fullchain.pem ProxyPass / http://zzz.yyy.com.tw:80/ ProxyPassReverse / http://zzz.yyy.com:80/ </VirtualHost>
以上設定若是遇到網址是%2F, 通常都會出問題,
這是slash html encode的問題, apache預設不支援該編碼, 因此可以加上 AllowEncodeSlashes 與 nocanon
<VirtualHost *:443> AllowEncodedSlashes on ProxyPass / http://zzz.yyy.com.tw:80/ nocanon ProxyPassReverse / http://zzz.yyy.com:80/ nocanon </VirtualHost>