Tag-Archive for » FreeBSD «

把FreeBSD下的硬件RAID去掉

几年前的一台服务器,intel s3000ah的板子,自带Intel Matrix Storage和LSI的raid,不过这个板子的raid对freebsd不支持,当初勉强使用Intel Matrix Storage的模式设置了raid 1 安装了BSD的7.2, 事实上并不是真正的好使,raid经常掉,bsd下的raid管理工具atacontrol也不能进行detach和attach的,勉强认为freebsd能认识设备ar0而已。

机器前几天终于挂了,出现的情况是raid1的两个磁盘都显示了offline,用过Intel Matrix Storage的就知道,CTRL+I进去后,其实是啥也干不了的,这个板子如果在windows下,或者用板子自带引导盘也是可以干点啥的,在bsd下,Intel Matrix Storage就是狗屎一坨。

按照过去的经验,通常这样的情况都是重装系统完事,但是因为人不在现场,David帮我跑去机房看看情况,于是乎抱着试试看的态度,尝试看看是否可以从硬件和软件下把raid禁用了,用一块盘当作普通sata来运行原理的系统,省得重装系统,配置和恢复数据麻烦,没想到一试居然成功了,下面把大致的经过分享给大家,希望对大家有参考作用。

首先,到bios里面,把raid禁用了,然后重启机器,正常的话能看到freebsd的引导了,但是这会儿是不能正常进入系统的,半道儿上就会停住,告知ar0…啥的设备问题。

在freebsd引导菜单中选择进入单用户模式

进到单用户模式的shell环境下后,因为/usr /var 啥的分区都没能挂载,而使用mount -a 啥的肯定不行,因为分区指向的都是ar0…的raid设备名, 于是我们要想办法修改fstab,这会儿矛盾的问题是,既然/usr无法挂载,/usr/bin/vi自然就没法运行了,如何能修改fstab文件呢?

琢磨了会儿,找到了办法,先umount /usr 试试, 然后再运行 mount -u /dev/ad4s1f /usr ,这里的ad4s1f其实是我raid1第一块硬盘在系统中的设备名,这个名称你可以大致的看看/dev/目录下有啥ad开头的文件,再对比一下当前fstab文件里面的分区,就能找到对应的块设备名称了。

通过上面的操作,vi就可以使用了, 运行 /usr/bin/vi /etc/fstab,把该文件里面原来ar0…的都改成ad4… ,保存退出,成功了一大半了。(这里漏掉了一步关键的,/etc/fstab文件应该是只读的文件系统,需要先运行 mount -fw / )

接下来需要做的事情是要从系统里面删除掉原来的raid设备,这个比较简单 运行/usr/bin/atacontrol detach ad4 和/usr/bin/atacontrol detach ad6 ,然后运行/usr/bin/atacontrol delete ar0 (你的系统里面也有可能是ar1,自己看fstab来决定)

然后最好执行一下fsck -y ,抽颗烟等结束后reboot,基本上就好了!

这会儿应该能进到系统了,再df看看磁盘分区情况,系统回到了普通的单硬盘模式了,多出来的那块ad6还没有使用,可以再自己分区单独使用。

Category: Linux / BSD  Tags: , , ,  14 Comments

NB的FreeBSD8.0正式发布

这个版本的BSD有很多强大的东东,尤其是ZFS值得期待,有机会要试试8.0

FreeBSD 8.0 值得关注的亮点包括:

  • Xen Dom-U, VirtualBox guest and host, hierarchal jails.
  • 支持 NFSv3 GSSAPI,NFSv4体验
  • 支持 802.11s D3.03 无线网络和虚拟接入点
  • 正式支持 ZFS
  • 重写了 USB 支持模块
  • 在多个方面提升在多处理器的可扩展性,特别是VFS
  • 网络链接层子系统进行重新修订
  • 体验的 MIPS 体系支持

详细内容请看 ReleaseNotes

下载地址:

ftp://ftp.freebsd.org/pub/FreeBSD/

在FreeBSD上使用mod_dosevasive对抗DDos攻击

  mod_dosevasive是一个Apache上的可选模块,它能应对一些基于HTTP的拒绝服务攻击,就是常说的Dos或者DDos攻击,这种攻击是让很多大小网站都头疼的攻击方式,mod_dosevasive从Apache1.3开始出现,虽然不能完全彻底的防止大规模的DDos攻击,但是对于普通的攻击来说,还是非常不错的选择。

  我的服务器(http://www.toplee.com/blog/)就曾经收到过类似的测试攻击(就是估计别人是为了练手,并非真的要针对我),搞得很头疼,我一些朋友的应用也遇到过类似的烦恼,基本上都通过安装mod_dosevasive得到了较好的解决。下面我就来以我在FreeBSD上安装基于Apache2.2.2的mod_dosevasive经过给大家分享一下经验,顺便进一步讲述一下mod_dosevasive的特性。
more »

Linux/FreeBSD下用C语言开发PHP的so扩展模块例解

引用本文请注明出处:Just Do IT (http://www.toplee.com) < Michael Lee @ toplee.com >

我从97年接触互联网的web开发,至今已经过去9年了,从最初的frontpage做html页面到学会ASP+access+IIS开始,就跟web开发干上了,后来又依次使用了ASP+SQLServer+IIS、JSP+Oracle+Jrun(Resin/Tomcat)、PHP+Syabse(MySQL)+Apache … 最后我定格到了 PHP+MySQL+Apache+Linux(BSD) 的架构上,也就是大家常说的LAMP架构,这说来有很多理由,网上也有很多人讨论各种架构和开发语言之间的优劣,我就不多说了,简单说一下我喜欢LAMP的几个主要原因:
more »