注:一開始沒有考慮到把gitlab劃分好存儲目錄,佔用系統磁盤,由於gitlab是默認安裝的,隨着公司代碼越來越多,導致gitlab數據目錄空間不足.
由於gitlab通過rpm包安裝後,默認存儲位置在/var/opt/gitlab/git-data/repositories,通常var分區很小,會打滿.
磁盤空間:
[root@bogon 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 的父目錄
[root@gitlab ~]# mkdir /home/data/gitlab/git-data //創建目錄
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb //修改默認路徑
# 把註釋取消然後指定新的倉庫存儲位置
git_data_dirs({ "default" => { "path" => "/home/data/gitlab/git-data" } })
注: /home/data/gitlab/git-data 這個是手動創建的目錄
使設置生效
1.沒有數據的情況下
[root@gitlab ~]# gitlab-ctl stop //有的需要使用 sudo gitlab-ctl stop
[root@gitlab ~]# gitlab-ctl reconfigure //使修改生效
2.有數據的情況下
如果 /var/opt/gitlab/git-data 目錄已經存在Git倉庫數據, 你可以用下面的命令把數據遷移到新的位置:
# 準備遷移之前要停止GitLab服務,防止用戶寫入數據。
[root@gitlab ~]# gitlab-ctl stop
# 注意 'repositories'後面不帶斜槓,而
# '/home/gitlab-data'後面是有斜槓的。
[root@gitlab ~]# rsync -av /var/opt/gitlab/git-data/repositories /home/data/gitlab/git-data
# 如果需要修復權限設置,
# 可運行下面的命令進行修復。
[root@gitlab ~]# gitlab-ctl reconfigure
# 再次檢查下 /home/gitlab-data 的目錄. 正常情況應該有下面這個子目錄:
# repositories
[root@gitlab git-data]# ls /home/data/gitlab/git-data
repositories
# 將 剛剛遷移的包 @hashed 放入到repositories 下
[root@gitlab git-data]#mv @hashed repositories
# 完工! 啓動GitLab,驗證下是否能
# 通過web訪問Git倉庫。
[root@gitlab ~]# 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" } //備用存儲目錄
})