[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:27788] Plamo-4.21 kernel-2.6.19-rc5のext4



尾形です。

inux-2.6.19-rc5まででext4のpatchがひとまず出てしまった
ようですのでext4のテストをPlamo-4.21で
linux-2.6.19-rc5/Documentation/filesystems/ext4.txt
のQuick usage程度を行って見ました。

linux-2.6.19-rc5のmakeは次のオプションのみ追加
CONFIG_EXT4DEV_FS=y
CONFIG_EXT4DEV_FS_XATTR=y
CONFIG_EXT4DEV_FS_POSIX_ACL=y
CONFIG_EXT4DEV_FS_SECURITY=y
# uname -a
Linux d865gbf 2.6.19-rc5-plamoUP #1 PREEMPT Thu Nov 9 21:34:09 JST 2006
i686 unknown unknown GNU/Linux

1. Quick usage instructions:
===========================

- Grab updated e2fsprogs from
ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs-interim/
This is a patchset on top of e2fsprogs-1.39, which can be found at
ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/

- It's still mke2fs -j /dev/hda1

- mount /dev/hda1 /wherever -t ext4dev

- To enable extents,

mount /dev/hda1 /wherever -t ext4dev -o extents

- The filesystem is compatible with the ext3 driver until you add a file
which has extents (ie: `mount -o extents', then create a file).

NOTE: The "extents" mount flag is temporary. It will soon go away and
extents will be enabled by the "-o extents" flag to mke2fs or tune2fs

- When comparing performance with other filesystems, remember that
ext3/4 by default offers higher data integrity guarantees than most. So
when comparing with a metadata-only journalling filesystem, use `mount -o
data=writeback'. And you might as well use `mount -o nobh' too along
with it. Making the journal larger than the mke2fs default often helps
performance with metadata-intensive workloads.

ftp://ftp.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs-interim/
e2fsprogs-1.39-tyt1.tar.bz2 の
makeはINSTALLによる手順をそのまま実行
(1) mkdir build; cd build
(2) ../configure
(3) make
(4) make check

ここでfailedが1個
f_lotsbad: too many illegal blocks in inode: failed
.
82 tests succeeded 1 tests failed
make[1]: *** [check] エラー 1
make[1]: Leaving directory
`/mnta/src/e2fsprogs/e2fsprogs-1.39-tyt1/build/tests'
make: *** [check-recursive] エラー 1

次のmake installは行いませんでした。
(5) Run `make install'

●e2fsprogs-1.39-tyt1/build/miscのmke2fsを使用して
# ./mke2fs -j /dev/hdb9
# mount /dev/hdb9 /mnt9 -t ext4dev -o extents
# mkreiserfs /dev/hdb8
# mount -t reiserfs /dev/hdb8 /mnt8
# mkfs.ext3 /dev/hdb7
# mount -t ext3 /dev/hdb7 /mnt7

bash-3.00# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hdb5 8192768 3240240 4952528 40% /
none 1037320 80 1037240 1% /dev
/media 1037320 0 1037320 0% /media
/tmp 1037320 16 1037304 1% /tmp
/dev/hda10 152211188 95214948 56996240 63% /mnta
/dev/hdb9 8064272 131232 7523388 2% /mnt9
/dev/hdb8 8192860 32840 8160020 1% /mnt8
/dev/hdb7 8064272 131232 7523388 2% /mnt7

bash-3.00# mount
/dev/hdb5 on / type reiserfs (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev type tmpfs (rw)
/media on /media type tmpfs (rw,mode=0755)
/tmp on /tmp type tmpfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hda10 on /mnta type reiserfs (rw)
/dev/hdb9 on /mnt9 type ext4dev (rw,extents)
/dev/hdb8 on /mnt8 type reiserfs (rw)
/dev/hdb7 on /mnt7 type ext3 (rw)

使用したLinuxBoxは
M/B:D865GBF P4 2.0GHz MEM:2GB
hdb: ST3160023A, ATA DISK drive
bash-3.00# hdparm -tT /dev/hdb
/dev/hdb:
Timing cached reads: 2372 MB in 2.00 seconds = 1186.30 MB/sec
Timing buffered disk reads: 168 MB in 3.01 seconds = 55.79 MB/sec

5GBのファイル書き込み
# time dd if=/dev/zero of=5GB bs=1024k count=5000

/mnt9 (ext4dev extents)
0.01user 15.01system 1:23.60elapsed 17%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (4major+257minor)pagefaults 0swaps

/mnt8 (reiserfs)
0.03user 11.10system 1:30.01elapsed 12%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+262minor)pagefaults 0swaps

/mnt7 (ext3)
0.01user 14.15system 1:32.26elapsed 15%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (4major+258minor)pagefaults 0swaps

次test.cshで1MBを5000個書いた場合
#!/bin/csh
foreach k ( 01 02 03 04 05 )
foreach j ( 01 02 03 04 05 06 07 08 09 10 )
echo $k$j
foreach i ( 01 02 03 04 05 06 07 08 09 10 )
foreach m ( 01 02 03 04 05 06 07 08 09 10 )
dd if=/dev/zero of=$k$j$i$m bs=1024k count=1 >& /dev/null
end
end
end
end

/mnt9 (ext4dev extents)
35.80user 26.02system 1:25.91elapsed 71%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (0major+1609626minor)pagefaults 0swaps

/mnt8 (reiserfs)
36.13user 19.82system 1:36.72elapsed 57%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (2major+1609615minor)pagefaults 0swaps

/mnt7 (ext3)
35.80user 24.99system 1:59.08elapsed 51%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (0major+1609666minor)pagefaults 0swaps

●次に-o extentsなしの場合
# ./mke2fs -j /dev/hdb9
# mount /dev/hdb9 /mnt9 -t ext4dev

/mnt9 (ext4dev)
# time dd if=/dev/zero of=5GB bs=1024k count=5000
0.02user 33.61system 4:17.94elapsed 13%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (3major+259minor)pagefaults 0swaps

# /usr/bin/time csh test.csh
35.75user 44.06system 4:45.50elapsed 27%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (2major+1619156minor)pagefaults 0swaps

●最後に/mnt9をext3にした場合
# mkfs.ext3 /dev/hdb9
# mount -t ext3 /dev/hdb9 /mnt9

/mnt9 (ext3)
# time dd if=/dev/zero of=5GB bs=1024k count=5000
0.01user 14.28system 1:37.11elapsed 14%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (3major+259minor)pagefaults 0swaps

# /usr/bin/time csh test.csh
35.69user 25.28system 2:03.36elapsed 49%CPU (0avgtext+0avgdata
0maxresident)k
0inputs+0outputs (2major+1633625minor)pagefaults 0swaps

この場合partition位置による差は2-5sec程度のようです。

では。


[検索ページ] [メール一覧]
Plamo ML 公開システム