このブログを検索

ラベル hdd の投稿を表示しています。 すべての投稿を表示
ラベル hdd の投稿を表示しています。 すべての投稿を表示

2012/10/30

ハードディスクの実容量計算方法

HDDに記してある容量とマウントしたときの容量が違う.
実際にマウントした時の方が容量が少ない.
理由は1000byte計算か1024byte計算の違い.

久しぶりにこの話題になり思い出した.
実用量の割り出し方は以下の通り.

320GB:(320*1000*1000*1000)/(1024*1024*1024)= 298.02
400GB:(400*1000*1000*1000)/(1024*1024*1024)= 372.52
or
320GB:(((320/1.024)/1.024)/1.024)= 298.02
400GB:(((400/1.024)/1.024)/1.024)= 372.52

参考:
ハードディスク容量の計算方法

----
■ 追記(2013/05/22)
計算するの面倒だなと思ったときは wolframalpha に放り込めば出てくるよ。
http://www.wolframalpha.com/input/?i=400gb

2012/07/24

partedコマンドでHDDパーティション作成

gdiskコマンドを調べるついでにpartedコマンドを調べていたら、partedコマンドでも簡単にアラインメントエラーを表示させずパーテョション作成が出来る事がわかった. 
 ※読んでいくのが面倒な場合は、記事中盤あたりに、パーティション開始位置の自動補完方法があるのでそこを参照.
以下は、partedコマンドの使い方とアラインメントエラーを表示させないパーティション作成方法.

実験用HDDパーティションの初期化
# dd if=/dev/zero of=/dev/sdb
partedコマンドからHDDを確認
# parted /dev/sdb
(parted) print
エラー: /dev/sdb: ディスクラベルが認識できません。
ディスクラベルをgptに設定
(parted) mklabel
新しいディスクラベル? gpt
アラインチェック
(parted) align-check
アライメントタイプ(min/opt)  [最適(optimal)]/optimal/最小(minimal)/minimal? opt
パーティション番号? 1
エラー: パーティションがありません。    
パーティションはまだ作成していないので、上記表示は正常だ.
以下は、パーティション開始位置を間違えたまま、パーティションを作成したもの.
(parted) mkpart
パーティションの名前?  []? Data
ファイルシステムの種類?  [ext2]? ntfs
開始? 4096kB
終了? 2000GB 
警告: 操作の結果できるパーティションはアライメントが正しくないためにパフォーマンスがでません。
無視(I)/Ignore/取消(C)/Cancel? I
この状態でアラインチェックを行なうと以下のように表示される.
(parted) align-check
アライメントタイプ(min/opt)  [最適(optimal)]/optimal/最小(minimal)/minimal? opt
パーティション番号? 1  
1 not aligned
うまく区切れていないようだ.align-checkはあくまでチェックなのか.
最適とか最小とか表示されると、自動で最適化をかけてくれるものかと勘違いしちゃうじゃないか.             
partedコマンドで、パーティション開始位置の設定がわからない場合は以下のように入力すると、開始位置を自動的に補完してくれる.
開始? 0%
ついでにHDDを1つのパーティションで使い切りたい場合は、「終了?」項目に以下のように入力するとこちらも最終位置を自動的に補完してくれる.
終了? 100%
結果は以下の通り.
(parted) print
モデル: ATA ST2000DM001-9YN1 (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
番号  開始   終了    サイズ  ファイルシステム  名前          フラグ
 1    1049kB  2000GB  2000GB                    Data
おお、開始位置が1MiBに補完されてる.アラインチェックも問題なさそう.
(parted) align-check
アライメントタイプ(min/opt)  [最適(optimal)]/optimal/最小(minimal)/minimal? opt
パーティション番号? 1
1 aligned
ついでに、ntfsフォーマットしようと思ったけど、以下のようなエラーが表示されたので、partedコマンドでは行なわず、mkfs.ntfsにタクす事にした。
(parted) mkfs
警告: ファイルシステムに対して parted による操作(mkfs)を行おうとしています。
parted のファイルシステム操作コードは、e2fsprogs のようなファイルシステム専用のものほど堅固に作られていません。可能なかぎり parted をパーティションテーブルの操作だけに用いることをお勧めします。ほとんどのファイルシステムに対するほとんどの操作は今後のリリースで削除される予定です。
警告: いま存在しているファイルシステムは破壊され、このパーティションの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? N
partedでパーティショニングをおこなったHDDをgdiskで確認したら以下のようになった。
Command (? for help): p
Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907029134   1.8 TiB     8300  Data
partedでは以下のとおり
(parted) print
モデル: ATA ST2000DM001-9YN1 (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
番号  開始    終了    サイズ  ファイルシステム  名前              フラグ
 1    1049kB  2000GB  2000GB  ntfs              Data
表示される値が違うなと思ったら、kbyteとsectorの違いだった.計算してしみると、結果は同じだ.
gdisk 2048 = 1049kB / 512B
parted 1049kB = 2048 / 512B
ちなみに、上記エラーがFedora14の「ディスクユーティリティ」に表示された時、手動で適当にパーティション開始位置を設定した値から 3072 bytes分ずらしてみたが、partedコマンドでは設定時にアラインメント警告が表示されてしまった.
The partition is misaligned by 3072 bytes.
(parted) mkpart
パーティションの名前?  []?                                              
ファイルシステムの種類?  [ext2]? ntfs                                  
開始? 24.6kB (sector 48 /gdisk)
終了? 100%                                                              
警告: 操作の結果できるパーティションはアライメントが正しくないためにパフォーマンスがでません。
無視(I)/Ignore/取消(C)/Cancel? i
しかし、警告を無視して実行して、ディスクユーティリティで確認したところアラインメント警告は消えていた.うーん、時間のある時にベンチマークとってみよう.

2012/07/13

LinuxでHDDのセクタサイズを確認する方法

HDDに最適なセクタサイズを調べる方法は以下の通り.
物理セクタサイズの確認
cat /sys/block/sdc/queue/physical_block_size
論理セクタサイズの確認
cat /sys/block/sdc/queue/logical_block_size
ただ上記は Western Digital Advanced Format ドライブの第 1 世代では当てになりません.とのこと.
セクタサイズに関しては、以下で型番を調べてメーカサイトで調べるのが確実.
cat /sys/block/sdc/device/model

2012/07/12

gdisk+mkfsによる 2TB HDD NTFSフォーマットとパーティションのアラインメントエラー

windowsとlinuxで共用するNTFSフォーマットのHDDを用意したかった.
Ubuntu 10.04 Live Diskの「Gparted」とFedoraにの「ディスク・ユーティリティ 2.32.0」で、2TB HDD をNTFSフォーマットしたのだが、Fedoraで確認したら以下の警告が表示されていた.
WARNING: The partition is misaligned by 3072 bytes. This may result in very poor performance. Repartitioning is suggested.
上記の警告はパーティション開始位置(たぶん)が3072bytes分ずれてるからパフォーマンスが出ません.再パーティショニングをお勧めします.とのことらしい.
ちなみに3072bytes分ずらしてみてパーティションを作成したところ、「ディスクユーティリティ」上の警告は表示されなくなったが、partedコマンド上では、調整時にアラインメントが正しくないと警告された。

LinuxでのHDDフォーマットについて検索してみると、パーティション作成時にアラインメントの調整をおこなってあげないといようだ.
アラインメントついてもいまいちよくわからなかったが、とりあえずgdiskというパーティショニングツールが、面倒な作業を補完してくれそうだ.

インターネット上の記事は parted + mkfs の組み合わせが多いように感じたが、
私は以下の事柄から gdisk + mkfs を使用することにした.
fdiskコマンドだと2TB以上のHDDを認識しないので、partedコマンドを使うのがよい、でもpartedコマンドだと反映がリアルタイムだから間違えたらアウトなので、gdiskコマンドを使用すればfdiskライクな使用感だよとのこと.
以下、はgdiskのインストールから、NTFSフォーマットまで.
# yum install gdisk ← インストール
# gdisk -l /dev/sdb ← HDDの内容確認
# gdisk /dev/sdb ← パーティションの編集おこないたいHDDを選択
ヘルプでコマンドの確認.
Command (? for help): ?
b back up GPT data to a file
c change a partition's named delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
パーティションの作成.
Command (? for help):  n
Partition number (1-128, default 1):[Enter]
First sector (34-3907029134, default = 34) or {+-}size{KMGTP}:[Enter]
Infomation: Move requested sector from 34 to 2048 inorder to alogn on 2048-sector boundaries.
USe 'l' on the experts' menu to adjust alignment
Last sector (2048-3907029134, default = 3907029134) or {+-}size{KMGTP}:[Enter]
current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):[Enter]
Changed type of partition to 'Linux filesystem'
作成した内容をHDDへ書き込み.
Command (? for help):  w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!
Do you want to procees? (Y/N):Y
OK; writing new GUID partition table (GPT).
The operation has completed successfully.
HDDの内容を確認すると、パーティションが作成されていることがわかる.
# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 0.8.1 
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present 
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB) 
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048      3907029134   1.8 TiB     8300  Linux filesystem
あとはNTFSでフォーマット.
# mkfs.ntfs -f -L [ label-name ] /dev/sdb1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
フォーマット後は「ディスク・ユーティリティ 2.32.0」でエラーは表示されなくなった.
windows vista以降パーテョション開始位置は1MiBらしいので、とりあえず今後はパーティション開始位置を1MiBに設定しておくことにする.  

2012/04/23

3TBのHDDが正常に認識しない

3TB HDDをHP Z200にとりつけたら「746.39GB」と表示された。
検索したらIntelドライバをインストールすると正常に表示されるとの事。
  1. Intelのダウンロードセンターに行き、「ラピッド・ストレージ・テクノロジー」で検索
  2. 「インテル ラピッドストレージテクノロジー F6ドライバディスク」もしくは「インテル ラピッドストレージテクノロジー」の最新版をダウンロードしてインストール
※ F6はwindowsインストール時に読み込ませるドライバ。(これだと常駐アイコンが出ないのかな?試してないのでわからない)
再起動後、HDDの初期化時に「2794.39GB」と表示されたので、そのままフォーマットして完了