在插入 USB 存储之前,需要确保文件集已经正确安装。要求下列文件集能存取此 USB 存储:
# lslpp -L devices.usbif.08025002.rte
Fileset Level State Type Description (Uninstaller)
devices.usbif.08025002.rte
7.1.0.15 A F USB Mass Storage Device
Software
# lslpp -L devices.common.IBM.usb.rte
Fileset Level State Type Description (Uninstaller)
devices.common.IBM.usb.rte
7.1.0.15 A F USB System Software
插入这个 USB 存储并运行 cfgmgr 来发现它:
# cfgmgr
发现后,系统就具备了两个设备(块和原始设备):
ls -l *usbms0
cr--r--r-- 1 root system 44, 0 Aug 22 18:59 rusbms0
br--r--r-- 1 root system 44, 0 Aug 22 18:59 usbms0
同样显示在这些设备输出中:
# lsdev |grep usb
usb0 Available USB System Software
usbhc0 Available 08-08 USB Host Controller (33103500)
usbhc1 Available 08-09 USB Host Controller (33103500)
usbhc2 Available 08-0a USB Enhanced Host Controller (3310e000)
usbms0 Available 2.1 USB Mass Storage
对于 AIX 5.3,第一个 USB 设备显示为 flashdrive0。
这时,我可以将这个 USB 存储视为一个原始卷并向它写入数据。但是,在该展示中,我将这个 USB 存储作为一个文件系统加载。我觉得没有必要为此 USB 加载创建一个日志加载,因为暂存文件系统的本质就是临时的,传递数据时的速度才是最为重要的。要创建这个 USB 存储文件系统,可以使用如下命令:
# mkfs -V jfs2 -o ea=v2 /dev/usbms0
mkfs: destroy /dev/usbms0 (yes)?
File system created successfully.
3927736 kilobytes total disk space.
Device /dev/usbms0:
Standard empty filesystem
Size: 7855472 512-byte (DEVBLKSIZE) blocks
之前的命令已对该 USB 存储进行初始化。选择 "Yes" 取消,否则初始化此设备。此文件系统的类型为 jfs2。我不认为 jfs2 类型对于此任务有多重要,因为此文件系统根本不会使用 jfs2 日志设备。但是由于这是创建文件系统的一个常规做法,于是我也就选择了 jfs2 类型。为了确保此文件系统具有可伸缩性,我使用 'ea' 选项对其进行了指定。在本示例中,要使用的设备就是所插入的这个 USB 存储,即 usbms0。
对于 AIX 5.3,加载命令中没有 NOLOG 选项。
接下来,加载该文件系统,指定是否不使用日志设备对其进行加载;确保首先创建要被加载的目录:
# mkdir /usb_mnt
# mount -o log=NULL /dev/usbms0 /usb_mnt
# df -g |grep usb
/dev/usbms0 3.75 3.73 1% 4 1% /usb_mnt
如果想要使用一个日志设备来加载该 USB 存储,那么可以使用 inline 日志。这就可以确保将它包含在此文件系统中:
# mkfs -olog=INLINE,ea=v2 -Vjfs2 /dev/usbms0
mkfs: destroy /dev/usbms0 (yes)?
logform: Format inline log for ?y
File system created successfully.
3912376 kilobytes total disk space.
Device /dev/usbms0:
Standard empty filesystem
Size: 7824752 512-byte (DEVBLKSIZE) blocks
# mkdir /usb_mnt
# mount -V jfs2 -o log=/dev/usbms0 /dev/usbms0 /usb_mnt
卸载一个存储
使用完 USB 存储文件系统后,就可以卸载或移除它,然后再删除 usbms0 设备:
# umount /usb_mnt
# rmdev -dl usbms0
存储上的数据
在该演示中,我使用了一个名为 plaks.txt 的 CSV 文本文件。它是节取自一个数据库,此文件的部分内容如下所示:
alpha,uk01w,12001,jan,-2
bravo,ge01w,98801,jan,-3
charlie,se01w,98111,jan,0
delta,my01w,18811,jan,4
echo,sg01w,34131,janq,2
我之前曾指出,USB 存储的读取速度很快,但其写入速度会比内部磁盘慢。这一点可以通过一个示例复制操作得到验证。首先,我将一个文件从 USB 存储复制到一个内部磁盘。然后,我使用 timex 命令将同样的一个文件从内部磁盘再复制到此 USB 存储来显示此复制命令的计时。在进行这两次复制操作之前,文件系统已经进行了卸载和重加载,目的是为了使此操作不会使用文件系统缓存,不会因此影响计时的准确性。
首先,将此文件从 USB 存储复制到一个内部磁盘的 /holding 目录:
# pwd
/usb_mnt
# timex cp plaks.txt /holding/
real 0.03
接下来,从 USB 存储删除此文件并卸载和重加载此文件系统。
然后,将此文件从 /holding 复制回 USB 存储。
# cd /holding
# timex cp plaks.txt /usb_mnt/
real 0.06
阅读(2177) | 评论(0) | 转发(0) |