Memory Stick : やっぱり Sun がスキ! やっぱり Sun がスキ!

やっぱり Sun がスキ!

http://blogs.sun.com/yappri/date/20060331 2006年 3月 31日 金曜日

Memory Stick



Solaris 環境で USB フラッシュメモリの活用



近頃は格安で USB フラッシュメモリが手に入るようになり、PC を持っている方は この媒体を使ってファイルの受け渡しに結構重宝されていると思います。USB フラ ッシュメモリは Windows や Linux だけでなく、当然 Solaris でも使えますのでち ょっとしてみました。

[検証環境]

サーバ
Sun Blade 2000(UltraSPARC-III 1GHz x 2)
OS
Solaris 10 1/06
USBフラッシュメモリ
USB2.0 対応 128MB (GreenHouse社製 PicoDrive+)

[検証項目]

  1. マウント手順
  2. アンマウント手順
  3. ファイル名の制限
  4. ファイルの転送速度

[評価]

1. マウント手順確認

マウントの方法は簡単! ただサーバの USBスロットに USBフラッシュメモリを挿すだけです。 勝手に vold が /rmdisk 以下にマウントしてくれます。(自動でマウントしない時は volcheck コマンドを試してみて下さい。)

<USB フラッシュメモリを挿入した後の df の結果>
# df -k 
ファイルシステム      kbytes 使用済み 使用可能 容量      マウント先
/dev/dsk/c1t1d0s0    66455506 4907192 60883759     8%    / 
/devices                   0       0       0     0%    /devices
...
/vol/dev/dsk/c3t0d0/noname:c
                      127732      40  127692     1%    /rmdisk/noname    <= 注目

2. アンマウント手順確認

アンマウントの手順は、安全のためアンマウント処理を行った後、USBフラッシュメモリを抜いて 下さい。

<USB フラッシュメモリのアンマウント手順>
# eject rmdisk

ちなみに、vold を使わずに手動でマウント/アンマウントも可能です。

<手動によるマウント>
# /etc/init.d/volmgt stop
# mount -F pcfs /dev/dsk/c3t0d0s0:c /mnt        <=== pcfs を指定
# df -k
ファイルシステム      kbytes 使用済み 使用可能 容量      マウント先
/dev/dsk/c1t1d0s0    66455506 4907240 60883711     8%    /
...
/dev/dsk/c3t0d0s0:c   127732      40  127692     1%    /mnt
# umount /mnt  

<補足情報>

USB フラッシュメモリを挿す前と後で "cfgadm" の結果と "ls /dev/dsk" の結果です。

<USB フラッシュメモリ挿入前>
# cfgadm
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
...
usb0/3                         unknown      empty        unconfigured ok
usb0/4                         unknown      empty        unconfigured ok

# ls /dev/dsk
c0t6d0s0  c0t6d0s3  c0t6d0s6  c1t1d0s1  c1t1d0s4  c1t1d0s7  c1t2d0s2  c1t2d0s5
c0t6d0s1  c0t6d0s4  c0t6d0s7  c1t1d0s2  c1t1d0s5  c1t2d0s0  c1t2d0s3  c1t2d0s6
c0t6d0s2  c0t6d0s5  c1t1d0s0  c1t1d0s3  c1t1d0s6  c1t2d0s1  c1t2d0s4  c1t2d0s7  

<USB フラッシュメモリを挿入後>
# cfgadm
Ap_Id                          Type         Receptacle   Occupant     Condition
c0                             scsi-bus     connected    configured   unknown
...
usb0/3                         usb-hub      connected    configured   ok
usb0/3.1                       usb-storage  connected    configured   ok  <=注目

# ls /dev/dsk
c0t6d0s0  c0t6d0s4  c1t1d0s0  c1t1d0s4  c1t2d0s0  c1t2d0s4  c3t0d0s0  c3t0d0s4
c0t6d0s1  c0t6d0s5  c1t1d0s1  c1t1d0s5  c1t2d0s1  c1t2d0s5  c3t0d0s1  c3t0d0s5
c0t6d0s2  c0t6d0s6  c1t1d0s2  c1t1d0s6  c1t2d0s2  c1t2d0s6  c3t0d0s2  c3t0d0s6
c0t6d0s3  c0t6d0s7  c1t1d0s3  c1t1d0s7  c1t2d0s3  c1t2d0s7  c3t0d0s3  c3t0d0s7
   (自動でc3t0d0を作成)  

3. ファイル名の制限確認

pcfs でマウントされたUSBフラッシュメモリのファイル名に関して Windows との 互換性を含めて確認してみました。

  • ファイル名の長さに関しては、VFAT(Variable lengthFAT)に対応しておりますので、最大の長さは  255文字まで大丈夫です。

  • 日本語のファイル名に関しては、pcfs でマウントされたディレクトリに日本語のファイル名を作成 するとエラーではじかれて作成できませんでした。 また、Windows で日本語のファイル名を作成し、pcfs でマウントしてみると、文字化けどころか ファイル名を全く表示しませんでした。
  • (Windows で作成したファイルを移す時は気おつけて下さい。)

4.ファイルの転送

最後に、ファイルコピーの転送速度(Read/Write)を測定してみました。

Blade 2000標準装備の USB は、USB2.0 対応でない為、Write 0.5MB/s, Read 0.6MB/sと遅かったです。 ちなみに、Solaris 10 が入っている USB2.0 対応の PC にて評価した所、 Write 1.7MB/s, Read 4.5MB/s という結果でした....

# cd /tmp
# mkfile 60m test60m      
# ls -l
合計 122880
-rw------T   1 root     root     62914560  3月  9日  12:47 test60m

# time cp test60m /rmdisk/noname

real     2:04.0          <=== 60MB の Write に 124 秒
user        0.0
sys         0.7

# time cp /rmdisk/noname/test60m /tmp/test60m.out

real     1:47.8      <=== 60MB の Read に 107 秒
user        0.0
sys         0.6

あとがき

USB フラッシュメモリを使う事で簡単なパッチのインストールや、ログファイルの収集、 テストプログラムのインストールなどが便利になります。しかしその反面、情報漏洩とう点 ではお手軽さと引き替えにリスクがありますのでご注意下さい。 今回は、SPARC版Solaris 10 での手順を書きましたが、x86 Solarisでも同じ操作が可能です。

投稿されたコメント:

コメント
  • HTML文法 不許可