|
Description
|
Fresh install b09 zfs on x86, rootpool/ROOT/rootfs, separate / & /var,
lucreate 3 PBE zfs0, zfs1, zfs2, activate zfs2, then destry the ABE rootpool/ROOT/rootfs,
it's doohickey.central, if anyone has interest to take a look, just feel free to grab the console.
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rootpool 8.38G 24.6G 33K /pooldata
rootpool/ROOT 4.87G 24.6G 18K legacy
rootpool/ROOT/zfs0 14.9M 24.6G 4.56G /.alt.tmp.b-MC.mnt/
rootpool/ROOT/zfs0/var 0 24.6G 108M /.alt.tmp.b-MC.mnt//var
rootpool/ROOT/zfs1 404K 24.6G 4.56G /tmp/.alt.luupdall.3020
rootpool/ROOT/zfs1/var 0 24.6G 108M /tmp/.alt.luupdall.3020/var
rootpool/ROOT/zfs2 4.86G 24.6G 4.64G
rootpool/ROOT/zfs2@zfs0 122K - 4.56G -
rootpool/ROOT/zfs2@zfs1 126K - 4.56G -
rootpool/ROOT/zfs2/var 199M 24.6G 178M /var
rootpool/ROOT/zfs2/var@zfs0 0 - 108M -
rootpool/ROOT/zfs2/var@zfs1 0 - 108M -
rootpool/dump 1G 25.6G 16K -
rootpool/export 38K 24.6G 19K /export
rootpool/export/home 19K 24.6G 19K /export/home
rootpool/swap 2.50G 26.1G 16K -
rootpool/swap@%dumpdev 1.00G - 1.00G -
'zfs list' not show anything abnormal, but the system report warning message during test suites running of I/O error. all refer to sendmail with /var issue.
I tried manually invoke mailx, it can bring up 3 warning messages.
# echo "abc" | mailx xxxxx@xxxxx.com
# Mar 17 04:18:44 doohickey last message repeated 2 times
Mar 17 04:19:07 doohickey sendmail[9038]: [ID 801593 mail.alert] m2HAJ7Iq009038: low on space (localhost needs 0 bytes + 100 blocks in /var/spool/mqueue), max avail: 0
Mar 17 04:19:07 doohickey sendmail[9038]: filesys_update failed: I/O error, fs=., avail=-1, blocksize=1953391939
Mar 17 04:19:07 doohickey sendmail[9038]: m2HAJ7Iq009038: low on space (localhost needs 0 bytes + 100 blocks in /var/spool/mqueue), max avail: 0
But the zfs command just show no any space issue at the moment. (See following check)
And I could even use /var space by mkfil, but sendmail still report the error at the same time.
Seems like sendmail is somehow zfs unawared...
# cd /var/
# mkfile 100m file.0
# rm file.0
# cd /var/spool/mqueue
# mkfile 10m file.0
# rm file.0
# echo "abc" | mailx xxxxx@xxxxx.com
# Mar 17 04:28:48 doohickey last message repeated 5 times
Mar 17 04:29:04 doohickey sendmail[7099]: filesys_update failed: I/O error, fs=., avail=-1, blocksize=1953391939
Mar 17 04:29:04 doohickey sendmail[7099]: m2HAT47P007099: low on space (localhost needs 0 bytes + 100 blocks in /var/spool/mqueue), max avail: 0
Mar 17 04:29:04 doohickey sendmail[7099]: [ID 801593 mail.alert] m2HAT47P007099: low on space (localhost needs 0 bytes + 100 blocks in /var/spool/mqueue), max avail: 0
# df -h /var/spool/mqueue
Filesystem size used avail capacity Mounted on
rootpool/ROOT/zfs2/var
33G 183M 25G 1% /var
# zpool status -v rootpool
pool: rootpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rootpool ONLINE 0 0 0
c1t9d0s0 ONLINE 0 0 0
errors: No known data errors
# zfs get avail rootpool
NAME PROPERTY VALUE SOURCE
rootpool available 24.6G -
# zfs get -r avail rootpool
NAME PROPERTY VALUE SOURCE
rootpool available 24.6G -
rootpool/ROOT available 24.6G -
rootpool/ROOT/zfs0 available 24.6G -
rootpool/ROOT/zfs0/var available 24.6G -
rootpool/ROOT/zfs1 available 24.6G -
rootpool/ROOT/zfs1/var available 24.6G -
rootpool/ROOT/zfs2 available 24.6G -
rootpool/ROOT/zfs2@zfs0 available - -
rootpool/ROOT/zfs2@zfs1 available - -
rootpool/ROOT/zfs2/var available 24.6G -
rootpool/ROOT/zfs2/var@zfs0 available - -
rootpool/ROOT/zfs2/var@zfs1 available - -
rootpool/dump available 25.6G -
rootpool/export available 24.6G -
rootpool/export/home available 24.6G -
rootpool/swap available 26.1G -
rootpool/swap@%dumpdev available -
# lufslist zfs2
boot environment name: zfs2
This boot environment is currently active.
This boot environment will be active on next system boot.
Filesystem fstype device size Mounted on Mount Options
----------------------- -------- ------------ ------------------- --------------
/dev/zvol/dsk/rootpool/swap swap 1610612736 - -
rootpool/ROOT/zfs2 zfs 5221691904 / -
rootpool/ROOT/zfs2/var zfs 214934016 /var -
# luactivate
zfs2
# swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rootpool/swap 182,2 8 3145720 3145720
#
The issue is caused by 'zfs unmount -f'
# ls /var/run
avahi-daemon in.ndpd_mib picld_door sysevent_channels
bootadm.lock initpipe powerd.pid syslog.pid
daemon ipsecconf.lock rpc_door syslog_door
dbus kcfd_door sendmail.pid utmppipe
hald name_service_door smc898 xkb
in.ndpd.pid opengl sshd.pid
# /usr/sbin/zfs set mountpoint=/testdir778 testpool.778/testfs.778
# /usr/sbin/zfs set mountpoint=legacy testpool.778/testfs.778
# /usr/sbin/zfs umount -f /testdir778
cannot unmount '/': Device busy
00:39:08 SUCCESS: unmounted /testdir778
00:39:08 NOTE: Mount status of /testdir778 not changed.
# ls /var/run
bootadm.lock dbus ipsecconf.lock powerd.pid
A simple way to reproduce this issue.
# ls -l /var/run
total 120
drwxr-xr-x 2 daemon other 105 Mar 18 00:44 avahi-daemon
-rw-r--r-- 1 root root 4 Mar 18 00:44 bootadm.lock
drwxr-xr-x 2 daemon daemon 69 Mar 18 00:44 daemon
drwxr-xr-x 2 root root 155 Mar 18 00:44 dbus
drwxr-xr-x 2 root root 201 Mar 18 00:44 hald
-rw-r--r-- 1 root root 4 Mar 18 00:44 in.ndpd.pid
srwxr-xr-x 1 root root 0 Mar 18 00:44 in.ndpd_mib
prw------- 1 root root 0 Mar 18 00:44 initpipe
-rw------- 1 root root 0 Mar 18 00:44 ipsecconf.lock
Dr--r--r-- 1 daemon daemon 0 Mar 18 00:44 kcfd_door
Dr--r--r-- 1 root root 0 Mar 18 00:44 name_service_door
drwxr-xr-x 5 root root 184 Mar 18 00:44 opengl
Dr--r--r-- 1 root root 0 Mar 18 00:44 picld_door
-r--r--r-- 1 root root 4 Mar 18 00:44 powerd.pid
drwxrwxrwt 2 root root 249 Mar 18 00:44 rpc_door
-rw------- 1 root root 54 Mar 18 00:44 sendmail.pid
drwx------ 2 root root 110 Mar 18 00:44 smc898
-rw-r--r-- 1 root root 4 Mar 18 00:44 sshd.pid
drwxr-xr-x 3 root root 119 Mar 18 00:44 sysevent_channels
-rw-r--r-- 1 root root 4 Mar 18 00:44 syslog.pid
Drw-r--r-- 1 root root 0 Mar 18 00:44 syslog_door
prw------- 1 root root 0 Mar 18 00:48 utmppipe
drwxr-xr-x 2 root root 69 Mar 18 00:44 xkb
# mkdir /a
# zfs unmount -f /a
cannot unmount '/': Device busy
# ls -l /var/run
total 6
-rw-r--r-- 1 root root 4 Mar 18 00:42 bootadm.lock
drwxr-xr-x 2 root root 2 Mar 16 19:27 dbus
-rw------- 1 root root 0 Mar 17 05:14 ipsecconf.lock
|