三步解決gitlab 磁盤空間不足問題處理

注:一開始沒有考慮到把gitlab劃分好存儲目錄,佔用系統磁盤,由於gitlab是默認安裝的,隨着公司代碼越來越多,導致gitlab數據目錄空間不足.
由於gitlab通過rpm包安裝後,默認存儲位置在/var/opt/gitlab/git-data/repositories,通常var分區很小,會打滿.

磁盤空間:

[[email protected] soft]# df -hT
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     ext4    50G   47G  492M  99% /
tmpfs                tmpfs  2.9G  784K  2.9G   1% /dev/shm
/dev/sda1            ext4   477M   41M  411M   9% /boot
/dev/mapper/VolGroup-lv_home
                     ext4   144G  1.3G  135G   1% /home

可以看出 /home 這個磁盤很大,後面會遷移到 /home 這個磁盤下

設置存儲倉庫數據

默認情況下omnibus-gitlab 將倉庫數據存儲在 /var/opt/gitlab/git-data目錄下,倉庫存放在子目錄 repositories裏面。 以可以通過修改/etc/gitlab/gitlab.rb 的這一行來自定義 git-data 的父目錄

[[email protected] ~]#  mkdir /home/data/gitlab/git-data   //創建目錄
[[email protected] ~]#  vim /etc/gitlab/gitlab.rb   //修改默認路徑
# 把註釋取消然後指定新的倉庫存儲位置 
git_data_dirs({ "default" => { "path" => "/home/data/gitlab/git-data" } })

注: /home/data/gitlab/git-data 這個是手動創建的目錄

使設置生效

1.沒有數據的情況下

[[email protected] ~]#  gitlab-ctl stop      //有的需要使用 sudo gitlab-ctl stop
[[email protected] ~]# gitlab-ctl reconfigure //使修改生效

2.有數據的情況下

如果 /var/opt/gitlab/git-data 目錄已經存在Git倉庫數據, 你可以用下面的命令把數據遷移到新的位置:

# 準備遷移之前要停止GitLab服務,防止用戶寫入數據。
[[email protected] ~]# gitlab-ctl stop
 
# 注意 'repositories'後面不帶斜槓,而
# '/home/gitlab-data'後面是有斜槓的。
[[email protected] ~]# rsync -av /var/opt/gitlab/git-data/repositories /home/data/gitlab/git-data
 
# 如果需要修復權限設置,
# 可運行下面的命令進行修復。
[[email protected] ~]# gitlab-ctl reconfigure
 
# 再次檢查下  /home/gitlab-data 的目錄. 正常情況應該有下面這個子目錄:
# repositories
[[email protected] git-data]# ls /home/data/gitlab/git-data
repositories


# 將 剛剛遷移的包 @hashed 放入到repositories 下
[[email protected] git-data]#mv @hashed repositories 
 
# 完工! 啓動GitLab,驗證下是否能
# 通過web訪問Git倉庫。
[[email protected] ~]# gitlab-ctl start

設置存儲倉庫數據的備用目錄

注意的是:自GitLab 8.10開始,可以通過在/etc/gitlab/gitlab.rb文件中添加下面的幾行配置, 來增加多個 git 數據存儲目錄。

git_data_dirs({
  "default" => { "path" => "/var/opt/gitlab/git-data" },  //默認存儲目錄
  "alternative" => { "path" => " /home/gitlab-data" }     //備用存儲目錄
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章