我们有一个OA系统,系统是linux的,现在oa存放附件的/usr/分区空间不足了,导致oa系统运行很不正常,现需要增加硬盘来解决这个问题。

oa硬件软件环境情况:

服务器:IBM x346

阵列卡:serveRaid 7k

硬盘:2*73.4G SCSI硬盘 ,10k rpm,通过阵列卡做的raid0,总容量140G

操作系统:RedFlag DC 4.1

中间件:东方通的TongWeb

数据库:人大金仓KingBase ES

OA是我们公司自主开发的

 

oa系统需要上传大量的附件,存放的位置为/usr/oahome,经过查看这个目录已有70多G大小,而/usr/分区仅有79g左右吧,一但oa出现磁盘空间已满,系统管理员就通过删除日志的方式来暂时缓解。

通过df -h查看系统的分区空间占用情况发现,sda5挂在了/usr下,sda1挂在了/下,且/还有大量空间可以利用,能不能使用/的剩余空间给/usr用呢?可是系统未采用lvm进行管理硬盘,也无法动态的对/usr进行扩容了,那就直接买块硬盘呢,反正公司不差这个钱。

购买硬盘的参数:146G、10k rpm、 SCSI

直接把硬盘插入硬盘槽位,我以为重启服务器就可以认到硬盘呢,事实不然,但在开机启动时提示按Ctrl+I可以进入raid配置,可是进去了并看不到硬盘情况,问代理商他说肯定有的,可是我找了所有的地方都没有找到,最后借助搜索,了解到要用ServeRaid Support CD配置下,才能识别到硬盘,说做就做 。

我用的是ServeRAID 7.0,这个光盘支持7k卡,

插入ServeRAID Support CD,从光驱启动,进入配置界面,系统发现了三个硬盘,其中有两个73.4G大小的状态是online,一个140G大小的状态是ready。

查看raid信息,有个logical drive1 ,73.4G大小的两个硬盘做的raid0,那么我要做的就是再建立一个logical drive2 ,将新硬盘加入这个新  raid,raid级别默认为raid0,保存配置,重启服务器,linux下执行命令fdisk -l ,发现一个新硬盘sdb,认到硬盘了,呵呵

建立分区sdb1

fdisk /dev/sdb

格式化sdb1为ext3类型

mkfs.ext3 /dev/sdb1

建立一个挂载点,挂载硬盘 

mkdir /test

mount /dev/sdb1 /test

往/test拷贝数据,正常,这样硬盘就挂载ok了

 

 

现在面临这样一个问题,怎么利用这个140g的空间呢???目录/usr/oahome是存放oa数据的文件夹,如果将这个目录的数据移到/test,然后让oa的开发人员把oa程序中涉及的/usr/oahome改为/test就可以了,可是跟开发人员确认后,发现这样做的话,他们的工作量之大和复杂程度都是不可能做到的,所以这个办法只能放弃了。

 

办法总比困难多嘛,最后终于找到一个好办法:将/dev/sdb1挂载到/usr/oahome下,这样oa程序就不需要更改了 。

步骤如下:

/usr/oahome改名为/usr/oahome-old

mv /usr/oahome  /usr/oahome-old

建立一个/usr/oahome,将/dev/sdb1挂载到/usr/oahome

mkdir /usr/oahome

mount /dev/sdb1 /usr/oahome

然后把/usr/oahome-old里的数据拷贝到/usr/oahome中,这样不就ok了吗

 

记得把挂载写入fstab文件,这样重启服务器就会自动挂载sdb1分区了。