2022年12月30日 星期五

Monior | fortigate_exporter + grafana + promethus with docker

Install fortigate_exporter + grafana + promethus with docker on Ubuntu 20 step by step.

2022年12月27日 星期二

PVE | 分配第二張GPU時無法啟動VM,failed to open /dev/vfio/1: Device or resource busy

 最近安裝虛擬機器時遇到這樣的問題,實體機器有兩張GPU,新增兩台VM,各配置一張GPU,開啟VM只能開啟一台,錯誤訊息如下

kvm: -device vfio-pci,host=0000:02:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,x-vga=on,multifunction=on: vfio 0000:02:00.0: failed to open /dev/vfio/1: Device or resource busy
TASK ERROR: start failed: QEMU exited with code 1

2022年10月31日 星期一

Supermicro | 忘記IPMI密碼並重新設定IPMI密碼

最近拿到一台新的Supermicro Server怎麼輸入IPMI的登入帳密(ADMIN/ADMIN)都不對,發現應該是要用unique password才可以,但居然還是不行,最後是參考了ipmicfg的方法重新設定密碼,步驟如下。

2022年10月14日 星期五

Nginx | 健康檢查模組安裝與設定(RTSP負載均衡範例)

官方Free版本的Nginx是不支援後端健康檢查,還好有強者寫出一個免費版本,以下就是安裝方法。

2022年10月13日 星期四

Ubuntu | 更改interface名稱為eth0與換掉預設dns服務(systemd-resolved)

    看標題就應該知道這是老人才喜歡設定,但也確實好用很多,預設的網路配置一大堆奇怪的東西要注意,改成這樣才是最方便的,直接看設定吧。

2022年10月12日 星期三

FortiGate | 限制Public IP存取FortiGate管理IP | Restricting/Allowing access to the FortiGate Public IP addresses

    雖然FortiGate在帳號那邊就可以限制來源IP,但是如果想要限制Public IP存取暴露在網路上的FortiGate管理IP就要用其他作法,這邊是參考這篇文章來實現此功能。

Linux | Nvidia Driver, Cuda安裝與完整移除

這邊筆記幾個常用的Nvidia Driver安裝移除相關指令。

2022年10月6日 星期四

Linux | 圖片轉為ascii

 這邊簡單紀錄一下圖片轉為ASCII的畫面,指令如下。

Ubuntu | 如何像Windows一樣在Ubuntu桌面直接用滑鼠點擊檔案執行程式

如果想在Ubuntu的桌面上點擊某個可執行的檔案,會發現是無法像Windows一樣打開,查了一下有個簡單的方法就可以執行,如下,使用gnome-terminal就可以實現。

2022年9月23日 星期五

Fortigate | 使用Site To Site VPN建立Fortigate與Azure兩端的連線

這邊紀錄一下使用Fortigate建立Site to Site VPN到Azure的過程,架構圖如下,使用Site To Site VPN建立Fortigate與Azure兩端的連線。



Linux | 使用Toilet Figlet lolcat產生漂亮的Shell Script選單

這邊就直接看實際選單的樣子,細節就不用說太多了,內容都在Script裡面,大家應該看看就懂。

2022年8月30日 星期二

Fortiswitch | 設定SNMP與Switch的管理IP(Management IP)

這篇介紹如何設定Fortiswitch的SNMP,我的環境是在鐵三角的架構下設定,也就是Fortigate納管Fortiswitch與FortiAP的情況下,這場景特殊的是Fortiswitch無法配置Private IP,所以要透過Fortigate NAT的功能來轉換IP,就直接看以下步驟吧。

2022年8月23日 星期二

PVE | Connection error 401: permission denied - invalid PVE ticket

加了一台Node到Cluster中,點選新Node時卻出現"Connection error 401: permission denied - invalid PVE ticket"的錯誤訊息,Google了一下照著論壇討論區說的重啟相關服務還結果還是一樣,最後發現是新Node時間沒有正確設置好,由於我的PVE是無法上網,所以無法正確使用預設的時間同步,照著官方時間同步介紹Wiki,設定Server區塊改為內部NTP Server後,重啟服務就可以讓時間正確同步。

2022年8月19日 星期五

Docker | 使用UI管理Docker Registry刪除image與清理空間

 如果沒有UI就必須輸入指令去完成列出目錄與清理,比如列出目錄,會發現這樣視覺上很雜亂。

# curl -X GET -u admin:baoyun5820 --insecure https://xiebaoyun.synology.me:6088/v2/_catalog
{"repositories":["ad_downloader","amage_downloader","admin/ubuntu","ai-train","azcopy","helper-dev","boss","cal_ros"]}


所以用UI才是最佳的解決方法,找了一下,這個版本的Docker Registry UI功能很多,也好用,以下就簡單介紹一下安裝方法

Dokcer | Docker Registry備分與還原

        最近Docker Registry空間不夠要換硬碟加大,想說完了要重建Registry,後來查了一下其實不會太難備分與還原,不過最難的是備分與還原需要花上很多時間(看資料量與硬碟速度),像我這次大約有180個Repositories要備分,總共5TB空間,備分就花了2天時間,所以還原也是花這樣的時間。

        不管是哪個Docker Registry版本都會有兩個資料夾blobs與repositories,只要備分好這兩個資料夾,然後還原到任意版本的Docker Registry的對應資料夾就可以,也不用備分甚麼設定,所以很簡單吧。


參考資料:

https://weblog.wemanity.com/en/docker-registry-docker-hub-at-home-for-free/



2022年8月4日 星期四

Linux | 解壓縮.xz檔案

As below is how to uncompress xz file.

# apt install xz-utils
# unxz file.xz

2022年7月22日 星期五

MAC | Fuji printer印表機選擇黑白列印 Black and White

MAC不知道為什麼要把簡單印表機功能搞得那麼複雜,只是要單純使用黑白列印居然可以讓一般使用者難以設定上手,我自己都搞得一陣子才發現原來要這樣設定呀,以下就是簡單介紹如何在MAC上安裝印表機與設定黑白列印。

2022年7月15日 星期五

Proxmox | pve cluster login failed. please try again

登入PVE時明明帳號密碼是對的,但就是出現錯誤訊息login failed. please try again不給登入,如果你的情況是在Cluster中關掉其中一台或多台PVE,那麼就要強制調整Cluster整選舉機制,讓PVE可以正常登入。

在想要登入的PVE輸入下方指令,減少投票數,然後試試看可不可以登入。
# pvecm expected 1

Proxmox | PVE重新開機後出現activating LV failed: Activation of logical volume is prohibited while logical volume tmeta is active.

某天PVE重開機後發現有顆硬碟狀態不明,開VM時跳出activating LV 'pve02_data6T01/pve02_data6T01' failed: Activation of logical volume pve02_data6T01/pve02_data6T01 is prohibited while logical volume pve02_data6T01/pve02_data6T01_tmeta is active. (500) 的錯誤訊息,找了一下有簡單的做法可以解決,如下

2022年7月13日 星期三

Linux | E437: terminal capability "cm" required

使用vi的時候發現出現這個錯誤訊息E437: terminal capability "cm" required,google了一下只要簡單使用下面指令就可以解決這個問題。

# export TERM=xterm

或是加入到啟動檔案中,如profile。



Docker | 清理Clean up dokcer空間

 以下簡單介紹一些清理Docker空間的方法。

Docker | Docker container容器停止了無法啟動卻想要修改容器內檔案

改完Container config後,接著重新啟動Docker,這時發現無法正常啟動,通常都是Config修改失敗造成無法正常用啟動,這時候只要用docker cp簡單的指令就可以將無法啟動容器內的config修改好就可以拯救無法啟動的容器。

2022年6月27日 星期一

Linux | 在不重開機下重新載入GPU(Reload GPU without reboot)

When using Proxmox virtualiztion, GPU sometime will occur some error. VM can't use GPU anymore. Here has an easy method to fix this issue. 

VMware | vCenter 7.0 時間同步NTP設定

vCenter 7.0時間同步原本以為可以用圖形介面輕鬆的設定好,搞了一下居然都用不成功,最後用還是登入到文字介面才順利設定好,以下就記錄文字介面的設定方式,其實也蠻簡單的,而且一下就成功。

2022年6月15日 星期三

Supermicro | FAN too loud

 By default Supermicro server fan is very loud. I tried to change FAN mode in BIOS or in IPMI console, it's not work. It is still very noisy, even I have reboot server. Finally, I found the issue, It should reset ipmi console, the FAN mode will work corectly. 

2022年6月13日 星期一

Proxmox | 將VMware VM虛擬機器轉到PVE上

以下直接介紹實作步驟,意外的簡單。

2022年6月8日 星期三

挖礦 | 使用NBMiner挖礦到幣安的乙太幣礦池

這邊簡單介紹用NBMiner挖礦到幣安的乙太幣礦池,首先要完成幣安的註冊認證,這部分就不介紹了,然後準備好一台Linux或Windows的機器,我想花比較多時間的應該是在幣安的部分,真的有點麻煩,反而是NBMiner用一行指令就搞定了,直接看步驟吧~

2022年5月18日 星期三

備份 | 備分Github到地端

這邊是在網路上參考了兩位達人寫出的script而產生出來的備分Script,由於我想要備分的Github Repository超過100個,不能直接用網路上很多人寫好的Script,算是分兩段完成,Token要先在這邊產生,Script如下

2022年5月10日 星期二

Proxmox | PVE VM無法同時使用兩張GPU,BAR1 is 0M @ 0x0

配置好GPU Passthrough後,發現有一台機器的VM無法同時跑兩張GPU,查看一下錯誤訊息顯示如下。

2022年5月4日 星期三

Proxmox | PVE GPU passthrough

這邊介紹Proxmox PVE GPU passthrough,直接看下面的設定步驟吧。

2022年4月29日 星期五

Proxmox | 變更主機名稱Change PVE hostname

灌完PVE發現hostname命名錯誤,以為按照linux邏輯修改/etc/hostname重開機就可以,沒想到進入web介面發現有兩個node存在,Google了一下,大概可以用些簡單方法解決,真沒想到改個名字有點麻煩。

VPN | OpenVPN SSO with Active Azure Directory AAD

這邊介紹如何在OpenVPN上用SSO認證與AAD(Active Azure Directory)整合,設定分為兩部分,第一部分是在Azure上的AD設定,第二部分就是使用OpenVPN AAD認證套件設定。

2022年4月27日 星期三

Proxmox | 建立Bonding(LACP 802.3ad)與VLAN的網路架構

目標是把兩個Port bonding起來使用LACP(802.3ad),並在Bonding Port上跑多個VLAN。


2022年4月26日 星期二

Supermicro | 如何更新Bios

原本想透過ipmi管理介面去更新BIOS,進入更新後出現An OOB per node license is required to enable this feature的訊息,才發現要去買License才能透過IPMI去更新,Google了一下發現國外有人居然用逆向工程破解了演算法,可以很簡單的就把License產生出來,但其實就算沒有啟動License也可以容易的更新BIOS,以下就介紹這兩種方法。

Proxmox | 解決VM無法關機 Can't shutdwon VM

PVE很常遇到VM無法關機的問題,用指令去unlock原本是很簡單就可以解決這問題,但後來又遇到unlock也無法解決的時候,以下就簡單紀錄如何解決VM無法關機的問題。


步驟一:使用unlock指令


這邊就直接使用unlock指令試試看可不可以關機,如下,100是VM的序號,可以在GUI介面看到。
# qm unlock 100# qm stop 100

步驟二:使用fuser指令


如果步驟一的unlock不成功,就先使用fuser指令去試試,找出lock的process,通常這樣就可以順利關機。
# fuser /var/lock/qemu-server/lock-100.conf/var/lock/qemu-server/lock-100.conf: 4672# kill -9 4672# qm unlock 100# qm stop 100



2022年3月31日 星期四

安全 | 找出惡意挖礦程式並移除

最近很巧的遇到兩台電腦都被埋挖礦程式,而且還是不同的程式,這邊簡單說明與紀錄如何找查。

Linux | 超過2TB硬碟分割Partition並掛載磁區

 Linux下超過2TB以上的硬碟就不能用fdisk去新增Partition,需要使用parted的命令去進行,以下就簡單介紹如何分割超過2TB以上硬碟。

2022年3月25日 星期五

Nvidia | JETSON AGX XAVIER刷機與Jetpack安裝


Jetson AGX Xavier拿到手後,開機後開始升級系統後,升級chromium-browser就遇到一大堆錯誤訊息,搞到後面apt都壞了也修不好,後來不太想花時間搞這個就想說要還原,沒想到遇到一大堆坑,以下就簡單介紹刷機還原步驟。

2022年3月24日 星期四

Windows | 修復金鑰Bitlocker

某天有一台Windows 10電腦突然打開說要修復金鑰,如下圖,當下整個傻眼,還好google了一下有答案,這邊就記錄一下救回的方法。

bitlocker 修復 輸入修復金鑰

2022年3月22日 星期二

VMWare | fatal cpu mismatch on feature on esxi7

最近在安裝ESXi 7.0居然遇到紫色屏幕,Google一下大概就是7的版本就會遇到,錯誤訊息寫著fatal cpu mismatch on feature,簡單說就是不支援Host CPU,Google一下也蠻多人遇到的,解決方法很簡單,就是在啟動的時候加入參數略過檢查CPU就可以。

2022年3月4日 星期五

VMware | Linux線上(不停機)動態增加(放大)硬碟空間

如果想要不停機的增加VM硬碟空間,簡單的幾個步驟就可以完成。

Linux | 使用Tmux提升工作效率

Tmux最大好處就是可以開啟多視窗並快速切換或分割視窗,讓使用者可以更效率的去工作,這邊就簡單紀錄如何安裝Tmux與簡單常用到的指令。

2022年2月23日 星期三

Azrue | 備分Storage account資料到地端On-Premises

這邊介紹簡單備分Azure Storage Account到地端的步驟,主要針對想要把Storage Account資料全部下載到地端需求的人來介紹。

Azure | Azcopy copy --help說明

以下是Azcopy copy的說明文件

Copies source data to a destination location. The supported directions are:

  - local <-> Azure Blob (SAS or OAuth authentication)
  - local <-> Azure Files (Share/directory SAS authentication)
  - local <-> ADLS Gen 2 (SAS, OAuth, or SharedKey authentication)
  - Azure Blob (SAS or public) -> Azure Blob (SAS or OAuth authentication)
  - Azure Blob (SAS or public) -> Azure Files (SAS)
  - Azure Files (SAS) -> Azure Files (SAS)
  - Azure Files (SAS) -> Azure Blob (SAS or OAuth authentication)
  - AWS S3 (Access Key) -> Azure Block Blob (SAS or OAuth authentication)
  - Google Cloud Storage (Service Account Key) -> Azure Block Blob (SAS or OAuth authentication) [Preview]

Please refer to the examples for more information.

2022年1月28日 星期五

GPU | 如何在Linux下查詢目前GPU的PCIe速度 8x 16x

Linux沒辦法像Windows用CPUz查到目前GPU在PCIe的速度,如果是用Nvidia的顯卡只要用nvidia-smi指令就可以查到,如下面所示,目前使用16x的速度。

2022年1月13日 星期四

k8s | 使用NVIDIA k8s-device-plugin

這邊紀錄使用NVIDIA k8s-device-plugin遇到的坑,如果看官網描述會感覺很簡單,大概幾個步驟安裝就結束了,我是真的遇到一堆坑花了很多時間才解決。

第一坑遇到了安裝完後,無法看到GPU資源的問題,中間我換過不同版本的Plugin,也試著自己Docker build plugin,但都無法解決問題,這時候看Plugin錯誤訊息如下,顯示無法載入NVML模組。

# 錯誤訊息
Loading NVML
Failed to initialize NVML: could not load NVML library.
If this is a GPU node, did you set the docker default runtime to `nvidia`?
You can check the prerequisites at: https://github.com/NVIDIA/k8s-device-plugin#prerequisites
You can learn how to set the runtime at: https://github.com/NVIDIA/k8s-device-plugin#quick-start

後來跟大神友人討論之後,他懷疑是CRI-O的問題,結果還真的是這問題,詳情請看這邊,接著我重建Cluster,不使用CRI-O就可以找到GPU資源,所以如果安裝完後找不到GPU資源,那可能是這個原因,以下就簡單紀錄安裝過程。

2022年1月12日 星期三

k8s | memory.swap.max or memory.memsw.limit_in_bytes: no such file or directory error message

建立完K8s cluster後,查看Pods狀態時,發現coredns佈署失敗查看log顯示內容如下所示,由於我用兩個不同Cgroup版本都有遇到所以訊息會不同,錯誤訊息的意思是找不到配置swap的檔案。

Cgroup V1:memory.memsw.limit_in_bytes
Cgroup V2:memory.swap.max

2022年1月11日 星期二

2022年1月6日 星期四

k8s | 重建Kubenetes Cluster

重建Kubenetes Cluster只需要下kubeadm reset,然後再init就可以,reset指令下完後,會有提示說kubeconfig要手動刪除,如下面訊息。

Ubuntu | 簡單安裝遠端桌面VNC服務

在Linux用遠端桌面很直覺得就是要用VNC,但目前非常多VNC server,裝了一輪下來遇到的坑還真多最後終於找到最無腦簡單的Vino VNC,以下是在Ubuntu 20.04環境安裝步驟。

步驟一:在Ubuntu安裝Vino VNC

$ sudo apt install vino

2022年1月5日 星期三

VMWare | 升級 Upgrade ESXi 6.7 to 7與解決DependencyError問題

 er

這邊介紹用command line升級ESXi,步驟蠻簡單的,隨意看一下吧。

2022年1月4日 星期二

VMware | ESXi開啟Passthrough功能給VM使用GPU

VMware雖然有vGPU的功能,但是所耗費的License費用極高,雖然使用Passthrough只能一張gpu指定給一台VM,但剩餘的資源還可以拿來開其他VM,而且用VM的好處相當多,還是極力推薦使用這功能,以下就介紹如何使用Passthrough功能。