OpenBSD的安装、升级、更新等日常问题。
版主: chenjun, 天地乾坤
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-15 12:47
lionux 写了:没有剩余空间,用文件也能行吧。
1. 没有剩余空间,要是可以虚拟在一个空目录里,自然是非常非常的好了,请问有具体的方案吗?
2. 因为wkx9dragon想在上面编译内核,如果将内存虚拟在一个文件上,请问怎样操作?——我有点没转过来。
-
wkx9dragon
- 锌 Zn
- 帖子: 493
- 注册时间: 2010-02-02 18:00
帖子
由 wkx9dragon » 2010-10-15 16:35
跟空余空间没有关系,我现在用256m swap就可以了,以前走弯路了,512m限制是longin.conf的限制,
mount_mfs -s 88888888 special node [specilal 只是一个假目标,因为历史原因,文件系统是建立在磁盘上的,所以他需要一些磁盘参数给mfs文件系统,我们自己编一个解可以了,看freebsd的网上说明,说是可以瞎编的,但是我在openbsd上不行,但是有解决办法,openbsd推荐 special用 swap 就可以了。]
比如: mount_mfs -s 8382836 swap /tmp
这是我的fstab,你看就跟实际wd0b 没有关系吧。
Password:
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0f /home ffs rw,nodev,nosuid,softdep 1 2
/dev/wd0d /usr ffs rw,nodev,softdep 1 2
/dev/wd0e /var ffs rw,nodev,nosuid,softdep 1 2
# wkx append
/dev/sd1j /DISK/BACKUP ntfs ro 0 0
/dev/sd1l /DISK/OTHER ntfs ro 0 0
/dev/sd0l /DISK/BigBackup ntfs ro 0 0
/dev/sd0m /DISK/BigOther ntfs ro 0 0
swap /tmp mfs rw,nodev,nosuid,-s=8388608 0 0
命令:
df -h
结果:
Filesystem Size Used Avail Capacity Mounted on
/dev/wd0a 507M 64.8M 416M 13% /
/dev/wd0f 1.5G 635M 820M 44% /home
/dev/wd0d 3.9G 2.4G 1.4G 64% /usr
/dev/wd0e 3.0G 27.3M 2.8G 1% /var
mfs:378 3.9G 682M 3.0G 18% /tmp
$ sudo disklabel -h wd0
# /dev/rwd0c:
type: ESDI
disk: ESDI/IDE disk
label: Maxtor 32049U3
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 2491
total sectors: 40019519 # total bytes: 19540.8M
rpm: 3600
interleave: 1
boundstart: 2048
boundend: 20008960
drivedata: 0
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 516.7M 2048 4.2BSD 2048 16384 1 # /
b: 258.9M 1060290 swap # none
c: 19540.8M 0 unused
d: 4102.5M 2120580 4.2BSD 2048 16384 1 # /usr
e: 3074.9M 10522575 4.2BSD 2048 16384 1 # /var
f: 1557.1M 16820055 4.2BSD 2048 16384 1 # /home
i: 9770.8M 20008960 unknown
p: 258.9M 1590435 swap
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-15 20:17
初步的思路:
如果进行disklabel分区时没有保留一些剩余空间,可以先从swap分区上切一小块下来(即使仅仅是1K),也就是将原有的swap分区,重新划分为新的swap1+swap2两块,然后根据原始的offset,重新修改两个swap分区的大小和offset——在fstab里追加设置一个swap2分区,这样问题就应该解决了——也就是避免了disklabel分区的重叠造成可能系统出现的问题。
-
lionux
- 锌 Zn
- 帖子: 457
- 注册时间: 2010-02-04 11:09
帖子
由 lionux » 2010-10-15 20:46
leo 写了:1. 没有剩余空间,要是可以虚拟在一个空目录里,自然是非常非常的好了,请问有具体的方案吗?
2. 因为wkx9dragon想在上面编译内核,如果将内存虚拟在一个文件上,请问怎样操作?——我有点没转过来。
先用文件做交换分区。
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-16 4:19
wkx9dragon 写了:跟空余空间没有关系,我现在用256m swap就可以了,以前走弯路了,512m限制是longin.conf的限制,
..........
是,实际上和剩余空间没有关系,不过如果你用一部分内存作为swap的挂载点,那么原有的swap分区将失去作用,如果用户的这个分区设置的比较大,例如,有人可能按照Liunx下的推荐,设置为内存的2倍左右,那这部分空间岂不是浪费掉了,而且在真正出现需要大量磁盘缓存的情况下,可能系统会出现问题,所以我觉得,最好还是不动原始的交换分区为好,至少是将对其的影响降低为最小,例如从swap里面划分出一小块disklabel分区给swap1, 再将虚拟分区挂载到这个swap1分区上,不知道我描述的是否清楚?
如果lionux的提议真的有方法去实现倒是一个两全其美的方案,不用编辑disklabel分区表来增加一个分区(如果当时在安装系统时已经分配好了实际上也是一个比较不错的方案),也不用考虑挂载到某一个目录,而是直接将内存挂载为到一个特定的文件(类unix下不是只有文件的概念吗?),只不过,我还没有搞清楚如何在disklabel分区表里定义这个特定的文件以便可以使用mount挂载。
lionux 写了:先用文件做交换分区。
我没有完全理解你的意思,是可以先将一个文件设置为交换分区,也可以在/etc/fstab里声明其文件类型,但是如何在disklabel中指定这个分区呢?
-
wkx9dragon
- 锌 Zn
- 帖子: 493
- 注册时间: 2010-02-02 18:00
帖子
由 wkx9dragon » 2010-10-16 7:10
"而且在真正出现需要大量磁盘缓存的情况下,可能系统会出现问题,所以我觉得,最好还是不动原始的交换分区为好,至少是将对其的影响降低为最小"
你说的对,磁盘swap还是要得,有好多软件还是要他的,系统崩溃,dump默认好像也是他,如果mfs的话,崩溃记录在那里找?得重新设置,我看是下一个问题了。[2倍内存]老皇历了,对于大内存,可得从新考虑了,我记得网上有讨论的,但是真正详细的没找到,都挺粗略的,这个问题好像跟你的实际应用有关,听复杂的。
-
lionux
- 锌 Zn
- 帖子: 457
- 注册时间: 2010-02-04 11:09
帖子
由 lionux » 2010-10-16 8:43
netbsd中没有限制,1G内存2G mfs测试可用。
netbsd man 中的例子:
EXAMPLES
Mount a 32 MB mfs on /tmp:
[INDENT]mount_mfs -s 32m swap /tmp[/INDENT]
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-16 10:54
你的意思是说1G内存+2G磁盘缓存吧?——如果是这样咱们说的不是一回事,wkx9dragon就是不想用硬盘(他的硬盘似乎快完蛋了。),他是要从内存中虚拟出一块磁盘分区来用。
但是如果你的意思是NetBSD可以用1G内存虚拟出2G的磁盘分区,而且如果真的可以写入2G的内容就太神奇了,因为除非另外的1G内容被写到了磁盘缓存上,否则哪来的空间呢。
-
wkx9dragon
- 锌 Zn
- 帖子: 493
- 注册时间: 2010-02-02 18:00
帖子
由 wkx9dragon » 2010-10-16 13:05
刚才想把/usr 装到mfs中,失败了,系统崩溃了,命令行不允许,改fstab,没想到崩溃了,因为gtty0在/usr目录下,和netbsd不一样哦。还有netbsd下,紧急恢复是
mount -u -w /dev/wd0a /mnt
openbsd 是两步,
1)fsck -p /dev/wd0a,
2) mount /dev/wd0a /mnt。
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-16 15:20
wkx9dragon 写了:刚才想把/usr 装到mfs中,失败了,系统崩溃了,命令行不允许,改fstab,没想到崩溃了,因为gtty0在/usr目录下,和netbsd不一样哦。还有netbsd下,紧急恢复是
mount -u -w /dev/wd0a /mnt
openbsd 是两步,
1)fsck -p /dev/wd0a,
2) mount /dev/wd0a /mnt。
瞧这意思,你想把OpenBSD生生折腾成无盘工作站。:)
我以前在网上还真看过这方面的讨论,不过一时想不起来在哪里了。
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-16 16:55
lionux 写了:netbsd中没有限制,1G内存2G mfs测试可用。
netbsd man 中的例子:
It seems like you can only mount_mfs to a directory in OpenBSD.
代码: 全选
# [color=royalblue]touch /mfs[/color]
# [color=royalblue]mount_mfs -s 10240000 swap /mfs [/color]
mount_mfs: /mfs: mount: Not a directory
-
wkx9dragon
- 锌 Zn
- 帖子: 493
- 注册时间: 2010-02-02 18:00
帖子
由 wkx9dragon » 2010-10-16 17:45
"瞧这意思,你想把OpenBSD生生折腾成无盘工作站。
我以前在网上还真看过这方面的讨论,不过一时想不起来在哪里了"
对呀!我就是想把OS整个放到内存里,反正内存也够,netbsd,openbsd也不大。现在没找到方法。
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-17 15:14
let's finish this thread first, and then we will create a new thread to discuss about it.
Maybe it's not too hard to figure out.
-
wkx9dragon
- 锌 Zn
- 帖子: 493
- 注册时间: 2010-02-02 18:00
帖子
由 wkx9dragon » 2010-10-17 21:26
好的,该下一个目标了,这个问题算是解决了,反正能用了。我出差了,不能折腾了,得下个月了。
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-18 2:16
好的,预祝一路平安,我再试试分割磁盘分区和安装时多添加一个swap分区的情况如何。
抱歉,我帮你修改了主题前缀和标题——这样便于后面的网友阅读。
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2010-10-18 14:02
在线用户
正浏览此版面之用户: Bing [Bot] 和 0 访客