- iSCSI 使用 iSER達成
- NFS使用NFSoRDMA
markliou's murmur
2025年7月14日 星期一
DGX 分散儲存系統筆記
2025年6月16日 星期一
DGX H200 driver upgarde from 570 to 575 system hanged
GPU driver 更新後,nvswich的driver也要更新到對應的位置。但不知道為什麼,設定檔也跟著跑掉,導致nvswith的設定位置不對。需要做幾個修正:
1. 修改startup的script吃config的位置。該config本來是設定為fork,但575好像改了設定,給予一個sleep,導致設定也要跟著修改為simple
2. 重新loading config
修改設定檔:
sudo systemctl edit --full nvidia-fabricmanager.service
以下為設定檔,原始的部分我用註解沒有更動:
====
[Unit]
Description=NVIDIA fabric manager service
After=network-online.target
Requires=network-online.target
[Service]
User=root
PrivateTmp=false
#Type=forking
Type=simple
TimeoutStartSec=720
Environment="FM_CONFIG_FILE=/usr/share/nvidia/nvswitch/fabricmanager.cfg"
Environment="FM_PID_FILE=/var/run/nvidia-fabricmanager/nv-fabricmanager.pid"
Environment="NVLSM_CONFIG_FILE=/usr/share/nvidia/nvlsm/nvlsm.conf"
Environment="NVLSM_PID_FILE=/var/run/nvidia-fabricmanager/nvlsm.pid"
PIDFile=/var/run/nvidia-fabricmanager/nv-fabricmanager.pid
#ExecStart=/usr/bin/nvidia-fabricmanager-start.sh $FM_CONFIG_FILE $FM_PID_FILE $NVLSM_CONFIG_FILE $NVLSM_PID_FILE
ExecStart=/usr/bin/nvidia-fabricmanager-start.sh --fm-config-file /usr/share/nvidia/nvswitch/fabricmanager.cfg --fm-pid-file $FM_PID_FILE --nvlsm-config-file $NVLSM_CONFIG_FILE --nvlsm-pid-file $NVLSM_PID_FILE
ExecStop=/bin/sh -c '\
sed -i "/^FM_SM_MGMT_PORT_GUID=0x[a-fA-F0-9]\\+$/d" "$FM_CONFIG_FILE"; \
if [ -f "$NVLSM_CONFIG_FILE" ]; then \
sed -i "/^guid 0x[a-fA-F0-9]\\+$/d" "$NVLSM_CONFIG_FILE"; \
fi; \
if [ -f "$FM_PID_FILE" ] && [ -s "$FM_PID_FILE" ]; then \
kill "$(cat "$FM_PID_FILE")"; \
fi; \
if [ -f "$NVLSM_PID_FILE" ] && [ -s "$NVLSM_PID_FILE" ]; then \
kill "$(cat "$NVLSM_PID_FILE")"; \
fi'
LimitCORE=infinity
[Install]
WantedBy=multi-user.target
====
修改完畢後,要把設定檔重新loading:
sudo systemctl daemon-reload
sudo systemctl start nvidia-fabricmanager.service
最後看看有沒有出錯:
systemctl status nvidia-fabricmanager.service
journalctl -u nvidia-fabricmanager.service -b -n 50 --no-pager
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。因此只要下達以下指令就可以了
執行前主要先確定gpu的driver跟nvswitch有沒有相符,這直接看錯誤訊息就好:
sudo systemctl status nvidia-fabricmanager
這邊可能會出現底下類似錯誤:
× nvidia-fabricmanager.service - NVIDIA fabric manager service
Loaded: loaded (/etc/systemd/system/nvidia-fabricmanager.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2025-06-15 22:57:30 PDT; 19min ago
CPU: 93ms
Jun 15 22:57:30 DGX-H200 systemd[1]: Starting NVIDIA fabric manager service...
Jun 15 22:57:30 DGX-H200 nvidia-fabricmanager-start.sh[16241]: Detected Pre-NVL5 system
Jun 15 22:57:30 DGX-H200 nv-fabricmanager[16258]: fabric manager NVIDIA GPU driver interface version 570.133.20 don't match with driver version 575.57.08. Please update with ma>
Jun 15 22:57:30 DGX-H200 nvidia-fabricmanager-start.sh[16258]: fabric manager NVIDIA GPU driver interface version 570.133.20 don't match with driver version 575.57.08. Please u>
Jun 15 22:57:30 DGX-H200 nvidia-fabricmanager-start.sh[16241]: "/usr/bin/nv-fabricmanager" failed! Exit code: 1
直接可以看到是因為GPU driver是575,但是nvswitch的driver還在570。這邊就需要重新安裝一下(記得自己修改版號)
sudo apt-get install nvidia-fabricmanager-575
接下來就是把預設的fabricmanager打開:
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
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的時候會出現的狀況。不過狀況還是可以區分出兩種情境:
- 該網站雖然使用https協定,但是憑證不合法(可能過期或是只有使用IP沒過DNS)
- 該網頁使用https協定,且使用瀏覽器開啟都合法,使用git卻不合法
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
DGX 分散儲存系統筆記
以torch的DDP(distributed data parallel)作為基底考慮: 1. 進行torchrun的時候僅需指定master node IP 2. 掛載資料區時建議以rank0的機器做下載,其他機器都Share同一個資料夾,所以需要透過iSCSI或是NFS進行 ...
-
後續要進行computing cluste建置, 另外儲存體將會獨立到NAS上(未來也有可能建立SAN), 統一控管帳號讓使用者可以用同一帳號就登錄到資料中心的所有機器上管理起來會比較方便。 幾個要點: synology LDAP server支援OpenLDAP格式。所以Wi...
-
情境 透過 llama.cpp工具進行gguf轉檔時,在轉檔過程中出這樣的錯誤訊息。 說明 這種錯誤源自於token model跟vocabulary檔案的output不同。通常都是vocabulary會因為客製化fine-tune過程中,使用的corpus不同,造成在進行cut...
-
synology預設只有提供給管理者ssh,所以有一些使用到ssh channel的方法都無法使用。如果需要用到NAS使用者自身權限進行檔案上下載,除了可以透過內建的rsync來完成之外,也可以嘗試使用synology的web API來達成。 該文件放在: https://g...