2025年5月2日 星期五

iscsi 連線問題筆記

如果要進行umount但是出現target buzy

sudo fuser -km 掛載點

sudo umount 掛載點


iSCSI重啟

sudo open-iscsi restart 


掛載lun

iscsiadm -m discovery -t sendtargets -p 目標IP

iscsiadm -m node -p 目標IP --login

如果出現類似以下訊息表示成功掛載:

Logging in to [iface: default, target: iqn.2000-01.com.synology:XXXXXXXXXXX.Target-1.05350d6cc87, portal: 192.168.72.19,3260]

Login to [iface: default, target: iqn.2000-01.com.synology:XXXXXXXXXXX.Target-1.05350d6cc87, portal: 192.168.72.19,3260] successful.

可以用fdisk -l看看,不過經驗上是能夠辨識出是哪一顆,只能透過容量大小推測。如果同時掛很多台容量一樣的就麻煩了。


refs:

https://osiutino.wordpress.com/2013/11/10/iscsi-%E8%A8%AD%E5%AE%9A%E7%AD%86%E8%A8%98-2-ubuntu-%E4%B8%8A%E4%BD%BF%E7%94%A8-initiator-%E9%80%A3%E6%8E%A5-iscsi-target/

2025年3月10日 星期一

DGX H200 在cuda container中出現cuInit error

 通常出現cuda initial error就只要把driver更新就可以了。但是DGX 系列在後續為了加強節點與節點之間的傳輸速度,出廠就直接安裝了NV-Switch。

之前不知道發生甚麼問題,一直出現cuIntial error,查了很久才發現是因為NV-switch功能被disable。因此只要下達以下指令就可以了

sudo systemctl start nvidia-fabricmanager  #把nv-switch打開

sudo systemctl enable nvidia-fabricmanager  #開機階段就預設打開


Ref:

https://docs.nvidia.com/datacenter/tesla/pdf/fabric-manager-user-guide.pdf

2025年1月2日 星期四

在github的repo中使用hugging face dataset repo做dataset 管理

 dataset的版本使用lfs進行版本管理是比較方便的方式,但是github的lfs空間只有給1G,如果有不同的資料版本出現,很快github的lfs空間就滿了。

這邊要進行在github的repo中(當然也能置換成其他的git repo,例如gitea或是gitlab),把git lfs的位置轉換到hugging face dataset repo上,進行異地管理。

首先要確定:

1. 已經安裝好git
2. 已經安裝好git lfs
3. 把hugging face dataset 以及github repo都開好了

Process

Step1. Clone git repo

git clone git@github.com:markliou/xxx.git


Step 2. 在該repo底下創建資料夾(這邊範例名稱是cosmic_v101),並且把檔案放進去

mkdir cosmic_v101


Step 3. 設定LFS的位置,這邊假設是指定到 markliou/COSMIC_v101

git config -f .lfsconfig lfs.url git@hf.co:datasets/markliou/COSMIC_v101

確定看看設定狀況

git lfs env
Endpoint=https://hf.co/datasets/markliou/COSMIC_v101 (auth=none)
  SSH=git@hf.co:datasets/markliou/COSMIC_v101



Step 4. 設定lfs tracking

git lfs track 'cosmic_v101/*' 


Step 5. 將檔案還有.lfsconfig和.gitattributes推上去

git add .
git commit -m "xx"
git push

可以使用 git lfs ls-files看看資料夾裡面的檔案有沒有被追蹤到


Step 6. 檢查檔案有沒有上到hugging face。

首先到hugging face網頁上,找到setting的選項。這邊的舉例就是到 https://huggingface.co/datasets/markliou/COSMIC_v101/settings




接下來會看到 "List FPS files",點進去就應該可以看到檔案的hash。



後續只要對github的repo進行clone,就能把檔案一併抓下來。



Ref:

https://help.sonatype.com/en/git-lfs-repositories.html

https://github.com/git-lfs/git-lfs/wiki/Tutorial

https://huggingface.co/docs/hub/datasets-adding

https://huggingface.co/docs/hub/repositories-getting-started

2024年12月13日 星期五

DGX 燒機測試

 使用nvsm就能把cpu跟gpu、記憶體吃滿


sudo nvsm stress-test 172800 # 持續172800秒的壓力測試,即48小時。預設會把cpu、gpu、記憶體全吃滿

sudo nvsm stress-test gpu 172800 #持續48小時壓力測試,且只有測試gpu


2024年9月15日 星期日

SSL certificate problem: unable to get local issuer certificate

使用git的時候會出現的狀況。不過狀況還是可以區分出兩種情境:

  1. 該網站雖然使用https協定,但是憑證不合法(可能過期或是只有使用IP沒過DNS)
  2. 該網頁使用https協定,且使用瀏覽器開啟都合法,使用git卻不合法
情境2是因為ssl申請完畢後,需要有一個放到store的程序。git安裝時其實會去掃store,所以把原本的git移除以後重新安裝大概可以處理掉(網頁很多就直接教學說升級git,反正都要移除重裝了,不如就順便升級)。另外一種做法就是設定git的認證方式。windows上有schannel可以用(ubuntu目前還沒找到辦法,就只能自己手動輸入到store或是直接不認證)

git config --global http.sslBackend schannel


情境1的狀況,因為是本身的ssl認證狀態就是問題,所以最好就是從git的認證直接關掉:


git config --global http.sslVerify false


ref:

https://komodor.com/learn/how-to-fix-ssl-certificate-problem-unable-to-get-local-issuer-certificate-git-error/

https://forum.gitea.com/t/fatal-unable-to-access-ssl-certificate-problem-unable-to-get-local-issuer-certificate/1434

https://github.com/go-gitea/gitea/issues/8063

https://wiki.gentoo.org/wiki/Certificates

https://blog.csdn.net/sinat_24899403/article/details/114967572

2024年9月13日 星期五

使用Certbot完成Let'sencrypt SSL申請

1. 透過git把acme.sh下載下來

  
    git clone https://github.com/acmesh-official/acme.sh.git
  
  

2. 進入到acme.sh資料夾後,需要進行 1) 把認證Server切換到Let's encrypt(預設是會跑到ZeroSSL,這個是要錢的) 2)進行server認證。這邊使用cloudflare服務作為範例:



#切換Server到lets encrypt
./acme.sh --set-default-ca --server letsencrypt
#跟cloudflare進行交握
./acme.sh --issue -d *.markliou.tw --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please

後面會有很多字,原本預設應該是要透過Cloudflare API進行交握,過程大概就是acme會透過api把一段文字上傳到DNS紀錄當中,然後透過DNS查詢看這段文字能不能被讀取到。如果能被讀取到就表示這個網域確實是你的。

這部分我們沒有透過cloudflare api進行就必須要自己手動進行。製作方式也很簡單,吐出的文字當中大概會出現:


[Fri Sep 13 08:25:07 AM UTC 2024] Adding TXT value: 9E**************************************3TM for domain: _acme-challenge.markliou.tw

上面那段有一堆馬賽克的文字就要自己手動貼到cloudflare的DNS紀錄,記得把類別改為txt。

重新進行一次,但是要把--issue改為--renew。這邊要記得改,不然一直讓lets encrypt發送,很快就會超過它們的限制數量


./acme.sh --renew -d *.markliou.tw --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please  

後面就會告知申請完畢的certification在哪個folder

最後一步是要把內容轉為認證加密檔,有用的通常就是cert.pem跟key.pem兩個檔案


acme.sh --install-cert -d example.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"

2024年9月3日 星期二

使用舊版outlook

 新版的office365在outlook部分都全面改用新介面(看起來也是全新程式),

如果自己有office365但是需要用公司信箱收信而公司也是使用Microsoft的solution(e.g. Exchange),

在新版的office365就會直接跑去驗證公司的帳號是否有訂閱。如果沒有訂閱的狀況下,就算有自行訂閱也無法使用。

這部分會造成困擾的部分就是平常大家收信也可能使用公司信箱作為日常使用,但這種作法強迫大家不能使用公司信箱作為日常使用。

微軟還是很佛心的在留言區中留下如何切換舊版outlook,在surface 11 (xelite)版本上可以順利切換:


https://support.microsoft.com/en-us/office/toggle-out-of-the-new-outlook-for-windows-preview-ec102b39-5727-418e-ae1f-a1805434640c



iscsi 連線問題筆記

如果要進行umount但是出現target buzy sudo fuser -km 掛載點 sudo umount 掛載點 iSCSI重啟 sudo open-iscsi restart  掛載lun iscsiadm -m discovery -t sendtargets -p...