在Linux系统下,使用两块硬盘搭建RAID1,并安装Gitla
Linux系统安装
1.把ISO镜像烧录到U盘
- centOS版本的选择:DVD版本比较大,里面包含GUI等等各种辅助工具,免去以后安装的麻烦。mini版本是centos的纯净版,但是没有任何工具可以选装。
- 使用Rufus 工具可以快速将ISO镜像拷贝到U盘上并制作启动盘。
-
这里注意一定要和待安装的硬盘格式对应。否则会出现诸多使用上的问题。
分区方案.png - Rufus在选择完IOS镜像之后,可能会刷新你选择分区方案和目标系统类型,这里一定要多留心,选正确!
2.centOS的安装
注意一下几个点:
- 软件选择
选择自己需要的软件(如GUI和一些基础服务组件),免去自行下载安装的麻烦。 - 安装位置
centOS安装前选择配置的时候,如果要自行配置分区。点击我要配置分区。注意自行选择删除之前的分区,并且选择合适的系统盘大小。 - 网络记得要勾选打开。
RAID1搭建
开始配置RAID时要注意:
首先确认你的磁盘分区格式,如果你的的磁盘分区格式是GPT,请使用parted命令来分区,或者gdisk,不要使用fdisk命令。如果你的的磁盘分区格式是 MBR 的话,可以使用fdisk 工具编辑分区表
CentOS 提供的软件磁盘阵列为 mdadm 这套软件,这套软件会以 partition 或 disk 为磁盘的单位,也就是说,你不需要两个以上的磁盘,只要有两个以上的分区 (partition) 就能够设计你的磁盘阵列了。
同时也支持两个分区为不同的分区格式(如GPT和MBR)
关于安装centOS时磁盘的分区格式:
不知道为什么我500G的硬盘试了很多次都默认给我用GPT分区格式安装了,求告知原因 - -//
所以以下配置基于parted命令。
1.确定设备名称
- 运行sudo fdisk - l确定设备名称。在下面的例子中,新的驱动器/dev/sda /dev/sdb
2.在每个驱动器上创建的分区。
-
运行parted /dev/sda
-
在parted命令下, mklabel gpt生成GPT的分区格式 。
-
输入print free查看剩余空间.
-
输入mkpart primary XXG XXG 开始分区。 起始位置还可以用%表示
-
输入p检查分区后的情况,q退出parted命令
在/dev/sdb 上也是重复以上命令,完成分区。
如果/dev/sdb 硬盘是MBR分区格式也可以使用fdisk来分区。
3.使用mdadm命令创建RAID阵列
- sudo mdadm --verbose --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1 后面两个参数是你要做阵列的两个分区位置。
4.创建文件系统
- sudo mkfs.ext4 /dev/md0
5.挂载你的阵列并将它添加到 /etc/fstab 上
- 运行sudo mkdir /mnt/md0,创建一个目录用来挂载阵列
- 编辑/etc/fstab 并添加下行内容,实现配置启动自动挂载
/dev/md0 /mnt/md0 auto defaults 0 0 - 运行 sudo mount /mnt/md0 挂载阵列
至此,你完成了RAID1的配置。
运行 sudo mdadm --detail /dev/md0 查看阵列的状态。
Gitlab安装配置
参考官方安装教程
-
安装并配置必要的依赖关系
如果你想使用 Postfix 发送邮件,请在安装过程中根据提示选择 'Internet Site'。 你也可以用 Sendmail 或者 配置一个自定义的 SMTP 服务 并 把它作为一个 SMTP 服务器。
在 CentOS 系统上,下面的命令将会打开系统防火墙 HTTP 和 SSH 的访问。
sudo yum install curl policycoreutils openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshdsudo yum install postfix
sudo systemctl enable postfixsudo systemctl start postfix
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld -
添加 GitLab 镜像源并安装
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bashsudo yum install gitlab-ce
如果你不太习惯使用命令管道的方式安装镜像仓库,你可以在这里找到 完整的安装脚本 或者 选择系统对应的安装包 使用下面的命令手动安装。
curl -LJO https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-XXX.rpmrpm -i gitlab-ce-XXX.rpm
-
配置并启动 GitLab
sudo gitlab-ctl reconfigure -
通过浏览器访问上一步配置的域名
第一次访问 GitLab,系统会重定向 url 到重置密码的页面,你需要输入初始化管理员账号的密码。 设置完成后,系统会重定向到登录界面,你就可以使用刚才输入的密码登录系统了。
系统默认的管理员账号为 root, 登录系统后,你可以修改管理员账号为自己喜欢的账号。
这里如果gitlab安装的时候也帮你装上了ssh。不放心ssh开放22端口,可以对ssh进行安全配置,方法见下面的链接
http://skypegnu1.blog.51cto.com/8991766/1641064
修改Gitlab仓库存储path
1.配置GitLab
编辑 /etc/gitlab/gitlab.rb
运行 vim /etc/gitlab/gitlab.rb
找到如下位置, 在 默认地址下面加上新添加的地址
git_data_dirs({
"default" => { "path" => "/var/opt/gitlab/git-data" },
"newpath" => { "path" => "/mnt/md0" }
})
重新启动gitlab即可完成配置。
执行 gitlab-ctl reconfigure
2.在管理员界面选择新项目将存储的地方
一旦你设置多个存储路径,你需要在管理员账户界面下,
Admin Area -->Setting-->Repository Storage选择新项目将存储的位置。
注意 选择完毕之后点击页面最底部的save保存
内网端口映射到公网,内网穿透
- 首先在路由器上,给内网的服务器分配一个固定的IP,就是把MAC地址跟IP绑定。
-
把外网访问的端口映射到内网主机端口。配置方法见下图说明.
端口映射.png - 如果你配置的服务器ip是动态的ip,可以使用ddns来让外网通过一个固定的域名访问服务器。申请一个免费二级域名,我用的是 https://www.noip.com/
然后在路由器上配置DDNS,填写注册的账户密码域名,路由会自动帮你update当前的动态ip到域名。这样你就可以通过域名访问服务器啦。