flyingwhp 发表于 2005-9-27 16:21:26

重新编译monowall扩大monowall分区容量

重新编译monowall扩大monowall分区容量
问题提出:最近在使用monowall的captiveportal功能时,经常出现以下提示:(null) 503 Server temporarily overloaded Date: Thu, 08 Sep 2005 08:20:45 GMT Cache-Control: no-cache,no-store Content-Type: text/html; charset=%s Cache-Control: max-age=0 Expires: Thu, 08 Sep 2005 08:20:45 GMT Connection: close
503 Server temporarily overloaded
The server cannot process the request due to a high load
问题原因不明,开始怀疑是64M内存太少,加大内存至128M,情况依旧。用http://monowallIP/status.php#df查看monowall分区的大小,如下面所示:
/filesystem   512-blocksusedavailcapacitymounted on
/dev/md0c   21578    20180 157893%    /
/dev/ad0a   11838    1118065894%    /cf
procfs          8            8       0   100%/proc

怀疑因为分区太小,导致临时文件容量不够,出现系统过载。于是,设法增加monowall分区容量。
步骤:以下方法在VM虚拟机,安装freeBSD-4.11环境下,通过
安装好freeBSD,开通FTP,设IP为192.168.1.98
下载generic-pc-1.2b10.img
Windows下,通过ftp://192.168.1.98,用user(假设freeBSD里有个user用户)登录,上传generic-pc-1.2b10.img到freeBSD,并改名为generic-pc-1.2b10.img.gz
解包镜像文件(generic-pc-1.2b10.img):
        gunzip generic-pc-1.2b10.img.gz
        vnconfig ?s labels ?c vn0 generic-pc-1.2b10.img
        mount /dev/vn0a /mnt
        mkdir source(当前目录/home/user)
        cd source
        cp ?Rp /mnt/* .
此时source目录下有以下文件
bootconf   kernel.gz   mfsroot.gz
        umount /mnt
        vnconfig ?u vn0

解包镜像文件(mfsroot.gz):
        mkdir root
        cd root
        gunzip mfsroot.gz
        vnconfig ?s labels ?c vn0 mfsroot
        mount /dev/vn0c /mnt
        cp ?Rp /mnt/* .
        cd ..

重新封包mfsroot.gz,增大分区容量:
        dd if=/dev/zero of=root.bin bs=1k count=20480
        vnconfig ?s labels ?c vn0 root.bin
        disklabel -rw vn0 auto
        newfs -b 8192 -f 2048 /dev/vn0c
        mount /dev/vn0c /mnt
        cd root
        cp ?Rp * /mnt
        umount /mnt
        vnconfig ?u
        gzip -9 root.bin
        mv mfsroot.gz mfsroot2.gz
        mv root.bin.gz mfsroot.gz

重新封包generic-pc.img,增大分区容量:
编辑lables.proto文件,包含以下内容:
# /dev/vn0c:
type: unknown
disk: amnesiac
label:
flags:
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 64
sectors/cylinder: 2048
cylinders: 10
sectors/unit: 20480
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0         # milliseconds
track-to-track seek: 0# milliseconds
drivedata: 0

8 partitions:
#      size   offset    fstype   
a:    20480      0    4.2BSD   20488192    26   # (Cyl.    0 - 4)
c:    20480      0    unused      0   0         # (Cyl.    0 - 4)

开始建立新的镜像文件,取名为image.bin
        dd if=/dev/zero of=image.bin bs=1k count=10240
        vnconfig ?s labels ?c vn0 image.bin
        disklabel ?BR vn0 label.proto
        newfs ?b 8192 ?f 2048 vn0a
        mount /dev/vn0a /mnt
        cp -Rp boot /mnt
        cp -p mfsroot.bin kernel.gz /mnt
        cp -Rp conf /mnt
        umount /mnt
        vnconfig -u vn0
        gzip -9 image.bin
        mv image.bin.gz generic-pc-1.2new.img (用该新镜像文件升级或者重新写到硬盘或CF卡)

修改后结果:

/filesystem   512-blocksusedavailcapacitymounted on
/dev/md0c    40252 21324 1570858%    /
/dev/ad0a   2009211520696862%    /cf
procfs          8            8       0   100%/proc

心想事成 发表于 2005-9-27 19:16:14

好贴不得不顶

DreamCat 发表于 2005-9-27 19:32:26

虽说不算重新编译,不过还是好贴~~

张浩峰 发表于 2005-9-27 20:39:56

呵呵,看不懂啊。

analyst 发表于 2005-9-27 22:18:54

论坛需要这样的好同志啊。

建议改个标题。

macafee 发表于 2005-9-28 09:58:42

请楼猪报告一下在使用captiveportal功能时,负载多少用户时出现以上情况!另建议将该情况提交MONOWALL官方!

flyingwhp 发表于 2005-9-28 11:00:13

修改后,实验结果

经过两天的实验,用修改后的MONOWALL做路由,打开Captiveportal功能,没有出现出错的情况,运行良好。下面是我公司的及MONOWALL的硬件配置:
C566 128M内存 双INTEL网卡   综端数量:73(数据统计是由MONOWALL的系统状态的captiveportal中得出)

liu00901 发表于 2005-9-28 14:19:05

学习!

顶楼主JJ

张浩峰 发表于 2005-10-5 17:35:18

楼上的太不地道了吧。 

smart 发表于 2005-10-23 21:51:48

楼主你干脆把你做好的境象放出来让我们大家都分享一下,你知道我们都是菜鸟,好多东西都不是很懂。

2long 发表于 2005-10-26 18:00:36

好人呀~~!! 支持LZ的分享经验~~!!!

echonj 发表于 2005-10-28 09:23:09

lz的精神可嘉

1000g 发表于 2005-11-29 21:42:39

我用电子盘,烧录好镜像了,启动之后,出现6个选项,请问,如何选择进行设置,我烧的是1.2版本,网上好多教程说得都是1.11的,都是启动之后出现5个选项的,和现在1.2出现的6个选项内容完全不同,不知道该怎么设置,我想把IP地址直接改成192.168.123.×,因为我局域网是这个网段,好调试,不知道怎么办才可以,请指点,我的QQ 76842750

qwe123 发表于 2006-3-24 03:56:35

支持一下

mkr203 发表于 2006-5-25 11:42:27

就个人使用,还用不上
页: [1] 2
查看完整版本: 重新编译monowall扩大monowall分区容量