更换SVN服务器硬盘

问题描述

近来启动SVN服务器、向SVN服务器提交内容的时候,频繁出现硬盘断电和启动的声音,屏幕显示有IO ERROR。这个问题在之前也出现过,起先以为是主板SATA接口的原因,更换接口后,该问题有所改善,出现频率大大降低了。不想近期又大大出现了,且更换主板后问题依然存在。因此,根本原因还是在硬盘。这可能与向SVN服务器频繁地提交内容,以及频繁地开机和关机有关系。若预计半个小时内没有东西需要向SVN提交后,则关闭SVN服务器。这中工作方式可以减少在规定时间内解决问题的工作压力,更加专注在工作本身;其次是减少房间的机器风扇声音。

解决办法

现在开始更换SVN服务器硬盘

  • 先关闭原有硬盘的文件夹访问【也可以采用关闭相应的服务的方式来做】:
## 先注释掉原有的硬盘的配置
sudo nano /etc/fstab  ## 修改磁盘挂载
sudo nano /etc/samba/smb.conf ## 修改共享目录访问
sudo nano /etc/apache2/mods-available/dav_svn.conf ## 修改SVN目录访问
  • 关机,接入新硬盘,开机后,找到接入的新硬盘,分区、格式化各个分区
## 显示出连接的新硬盘
sudo fdisk -l  
## 对新硬盘分区
sudo fdisk /dev/sdc
## 格式化新分区
sudo mkfs -t ext4 /dev/sdc1
sudo mkfs -t ext4 /dev/sdc2
  • 挂载硬盘,执行文件拷贝
## 把原先硬盘的分区1挂载到 /home/disk2a 目录下
sudo mount /dev/sdb1 /home/disk2a
## 把新硬盘的分区1挂载到 /home/disk4a 目录下
sudo mount /dev/sdc1 /home/disk4a

## 执行文件夹拷贝操作,注意 `/home/disk4a/` 最后一个 `/` 这个非常重要,这表示把前面的文件或者文件夹拷贝到这个目录下,
## 若没有这个`/`, 则表示把前者拷贝到后者,也就是 `/home/disk2a/svn` 拷贝到 `/home/disk4a` 
sudo cp -rf /home/disk2a/svn /home/disk4a/
  • 文件拷贝完毕之后,挂载新硬盘分区到对应的目录下,并开启SVN服务和smb文件共享目录
## 查看各分区的UUID
sudo ls -lh /dev/disk/by-uuid/   

## 修改磁盘挂载, 把新硬盘的分区【如sdc1】UUID 替换原来硬盘分区【如sdb1】UUID
sudo nano /etc/fstab  

## 然后分别开启SVN目录、smb共享目录【也可以采用关闭或者开启来做,这样就不用修改配置文件了】

## 修改目录权限
sudo chown -R daemon /home/disk2a/svn
sudo chmod -R 777 /home/disk2a/svn
  • 关机,拆下原来的硬盘【电脑盘位不够】,重启电脑,测试OK, 到此结束。

其他

  • 硬盘分区多、文件目录多的情形下,逐个手动拷贝挺耗费时间
  • 另外的方式是采用备份磁盘和还原的方式:但是采用这种方式,比较谨慎结的做法需要另一块同样大小的磁盘,以及一个比较大的空间来保存还原文件。例如,原磁盘大小为1T,那么需要大约1T的空间来存储还原文件,以及另一块1T的磁盘来做保存恢复内容。如果相当自信,也可以在格式化原磁盘后,再在其上进行恢复。问题是,万一恢复失败了呢?
  • 拷贝时遇到有IO ERROR,不知道数据是否有损坏
  • 拷贝文件时有遇到一个SVN文件内容的错误,这个错误的原因可能在于,客户端svn提交结束后,服务端会需要花点时间进行处理,这个时间不应该立即关机。
posted @ 2025-03-08 11:38  opencoder  阅读(9)  评论(0)    收藏  举报
点击右上角即可分享
微信分享提示