Страница 1 из 1

fstab + nullfs

Добавлено: 2009-05-21 11:48:50
AHapku
Добрый день.
Проблема такая, пытаюсьт настроить автомонтирование портов с хост машины на jail через fstab. вот варианты которые я использовал:

Код: Выделить всё

/usr/ports             /usr/jails/weblocal/usr/ports           nullfs  rw      1       1
(не загружается сервер)

Код: Выделить всё

/usr/ports             /usr/jails/weblocal/usr/ports           nullfs  rw      0       0
(не загружается сервер)

Код: Выделить всё

/usr/ports             /usr/jails/weblocal/usr/ports           nullfs  rо      0       0
(монтируется нормально но только в режиме чтения, порты в jail не собираются)

Код: Выделить всё

/usr/ports             /usr/jails/weblocal/usr/ports           nullfs  default      2       2
(не монтируется)

подскажите как побороть эту проблему=)

Re: fstab + nullfs

Добавлено: 2009-05-22 8:46:21
AHapku
up

Re: fstab + nullfs

Добавлено: 2009-05-22 21:46:12
reLax
первое, что на ум пришло и самое простое - это /etc/rc.local
до перезагрузки сервера:

Код: Выделить всё

[22:33 root@blackice /etc]# mount
/dev/twed0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/twed0s1d on /home (ufs, local, soft-updates, acls)
/dev/twed0s1f on /services (ufs, local, soft-updates, acls)
/dev/twed0s1e on /usr (ufs, local, soft-updates)
/dev/twed0s1g on /var (ufs, local, soft-updates)
172.17.2.200:/usr/ports on /usr/ports (nfs)
172.17.2.200:/twed0data/distfiles on /tmp/distfiles (nfs)
/usr/ports on /services/jail/bind/usr/ports (nullfs, read-only)
/tmp/distfiles on /services/jail/bind/tmp/distfiles (nullfs)
/usr/ports on /services/jail/httpd/usr/ports (nullfs, read-only)
/tmp/distfiles on /services/jail/httpd/tmp/distfiles (nullfs)
/usr/ports on /services/jail/mysql/usr/ports (nullfs, read-only)
/tmp/distfiles on /services/jail/mysql/tmp/distfiles (nullfs)
devfs on /services/jail/bind/dev (devfs, local)
procfs on /services/jail/bind/proc (procfs, local)
devfs on /services/jail/mysql/dev (devfs, local)
procfs on /services/jail/mysql/proc (procfs, local)
devfs on /services/jail/httpd/dev (devfs, local)
procfs on /services/jail/httpd/proc (procfs, local)
собственно простейший rc.local

Код: Выделить всё

[22:37 alex@blackice /home/alex]% cat /etc/rc.local
#!/bin/sh

NFSD_SERV=172.17.2.200
NFSD_PORTS_DIR=/usr/ports
NFSD_DIST_DIR=/twed0data/distfiles
LOCAL_PORTS_DIR=/usr/ports
LOCAL_DIST_DIR=/tmp/distfiles
JAILS_PORTS_DIR=/usr/ports
JAILS_DIST_DIR=/tmp/distfiles
JAILS_PREFIX=/services/jail
JAILS_NUM=3

JAIL1=bind
JAIL2=httpd
JAIL3=mysql

I=1

umount -f $LOCAL_PORTS_DIR
umount -f $LOCAL_DIST_DIR

mount ${NFSD_SERV}:$NFSD_PORTS_DIR $LOCAL_PORTS_DIR
mount ${NFSD_SERV}:$NFSD_DIST_DIR $LOCAL_DIST_DIR


while [ $I -le $JAILS_NUM ]
do
eval JAIL=\$JAIL${I}
umount -f $JAILS_PREFIX/$JAIL$JAILS_PORTS_DIR
umount -f $JAILS_PREFIX/$JAIL$JAILS_DIST_DIR
mount_nullfs -o ro ${LOCAL_PORTS_DIR} ${JAILS_PREFIX}/${JAIL}$JAILS_PORTS_DIR
mount_nullfs -o rw ${LOCAL_DIST_DIR}  ${JAILS_PREFIX}/${JAIL}$JAILS_DIST_DIR
I=`expr $I + 1`
done
после ребута

Код: Выделить всё

[22:38 alex@blackice /home/alex]% mount
/dev/twed0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/twed0s1d on /home (ufs, local, soft-updates, acls)
/dev/twed0s1f on /services (ufs, local, soft-updates, acls)
/dev/twed0s1e on /usr (ufs, local, soft-updates)
/dev/twed0s1g on /var (ufs, local, soft-updates)
172.17.2.200:/usr/ports on /usr/ports (nfs)
172.17.2.200:/twed0data/distfiles on /tmp/distfiles (nfs)
/usr/ports on /services/jail/bind/usr/ports (nullfs, read-only)
/tmp/distfiles on /services/jail/bind/tmp/distfiles (nullfs)
/usr/ports on /services/jail/httpd/usr/ports (nullfs, read-only)
/tmp/distfiles on /services/jail/httpd/tmp/distfiles (nullfs)
/usr/ports on /services/jail/mysql/usr/ports (nullfs, read-only)
/tmp/distfiles on /services/jail/mysql/tmp/distfiles (nullfs)
devfs on /services/jail/bind/dev (devfs, local)
procfs on /services/jail/bind/proc (procfs, local)
devfs on /services/jail/mysql/dev (devfs, local)
procfs on /services/jail/mysql/proc (procfs, local)
devfs on /services/jail/httpd/dev (devfs, local)
procfs on /services/jail/httpd/proc (procfs, local)
все порты клеток подмонтированы автоматом без всяких fstab )))

Re: fstab + nullfs

Добавлено: 2009-05-26 7:41:08
AHapku
Спасибо=) как бы такой вариант тоже рассматривался, но вот хотелось бы узнать, реально ли вообще сделать это через fstab?

Re: fstab + nullfs

Добавлено: 2009-05-27 0:19:10
Alex Keda
реально. я делал на 6.2
как - не помню, на той машине конфигов не сохранилось.
мана по fstab/nullfs хватило...

Re: fstab + nullfs

Добавлено: 2014-09-01 14:16:23
iZEN

Re: fstab + nullfs

Добавлено: 2014-09-19 22:11:38
Гость
Через fstab можно использовать опцию late. Есть так же /etc/jail.conf через него с поправкой на nullfs можно так

Код: Выделить всё

* {
	path = "/home/j/$name";
	exec.start = "/bin/sh /etc/rc";
	exec.stop = "/bin/sh /etc/rc.shutdown";
	exec.clean;
	devfs_ruleset = 4;
	mount.devfs;
	interface = lo0;
	host.hostname = "${name}.pvt-org.domain.ru";
	allow.set_hostname = false;
        mount  =	"/home/j/mroot	$path	nullfs	ro	noauto	0	0";
        mount +=	"/home/js/$name	$path/s	nullfs	rw	noauto	0	0";
	mount +=	"192.168.1.5:/usr/ports	$path/usr/ports	nfs	ro	noauto	0	0";
	mount +=	"192.168.1.5:/usr/ports/distfiles	$path/usr/ports/distfiles	nfs	ro	noauto	0	0";
}

10-stable {
	ip4.addr = 127.0.0.2;
	mount  =	"192.168.1.5:/usr/ports	$path/usr/ports	nfs	ro	noauto	0	0";
	mount +=	"192.168.1.5:/usr/ports/distfiles	$path/usr/ports/distfiles	nfs	ro	noauto	0	0";
}

test {
	interface	= re0;
	ip4.addr	= 192.168.3.233;
}

iso-cd {
	mount	= "";
	ip4.addr	= 127.0.0.3;
}