SSD alignment and mkfs
John Austin
ja at jaa.org.uk
Sun Mar 28 09:28:28 UTC 2010
Hi
I have googled extensively and posted elsewhere but
I have not found an answer to the following.
I have a 128GB SSD and have created the partitions such
that they all have a modulo 512kB start and modulo 512kB length
The first partition begins on cylinder 4 (counting from zero)
Full details below.
parted /dev/sdb shows the partitions to be as I asked - hopefully
correct from the alignment point of view.
However when an ext3 file system is created on the partitions
they behave differently - dumpe2fs shows
/dev/sdb1 First block: 1
/dev/sdb2 First block: 0
/dev/sdb3 First block: 0
It would seem that even though the partitions are aligned
the ext3 file system on the first partition is not.
I am assuming that the offset in the file system will negate
the careful alignment of the first partition, is that true?
I have checked on other disks (No LVM), even those with
extended/logical partitions it is only the first partition
on the disk that shows the First block: offset of 1
Do you know why this should be ?
Is it because "everyone" assumes that the first partition always
begins immediately after the MBR and MSDOS uses it somehow?
Is there really some vital data at the front of the first partition
irrespective of where the partition is located?
Should mkfs.ext3 really treat the first partition differently?
I realise that I could place a dummy partition at the beginning
of the disk but that just doesn't feel right!
Am I misunderstanding things?
Any feedback would be appreciated
John
Appendix - Fully updated F12 - e2fsprogs the latest version 1.41.11
I used fdisk -H 224 -S 56 /dev/sdb to give
[root at fuerte ~]# fdisk /dev/sdb
Disk /dev/sdb: 128.0 GB, 128035676160 bytes
224 heads, 56 sectors/track, 19935 cylinders
Units = cylinders of 12544 * 512 = 6422528 bytes
Disk identifier: 0xfc656088
Device Boot Start End Blocks Id
System
/dev/sdb1 5 20 100352 83
Linux
/dev/sdb2 21 6400 40015360 83
Linux
/dev/sdb3 6401 19932 84872704 83 Linux
-------------------------------------------------------
parted shows me
Model: ATA C300-CTFDDAC128M (scsi)
Disk /dev/sdb: 19935cyl
Sector size (logical/physical): 512B/512B
BIOS cylinder,head,sector geometry: 19935,224,56. Each cylinder is
6423kB.
Partition Table: msdos
Cylinders
Number Start End Size Type File system Flags
1 4cyl 19cyl 16cyl primary ext3
2 20cyl 6399cyl 6380cyl primary ext3
3 6400cyl 19931cyl 13532cyl primary ext3
--------------------------------------------
chs
Number Start End Type File system Flags
1 4,0,0 19,223,55 primary ext3
2 20,0,0 6399,223,55 primary ext3
3 6400,0,0 19931,223,55 primary ext3
--------------------------------------------
Sectors
Number Start End Size Type File system Flags
1 50176s 250879s 200704s primary ext3
2 250880s 80281599s 80030720s primary ext3
3 80281600s 250027007s 169745408s primary ext3
--------------------------------------------
Bytes
Number Start End Size Type File system
Flags
1 25690112B 128450559B 102760448B primary ext3
2 128450560B 41104179199B 40975728640B primary ext3
3 41104179200B 128013828095B 86909648896B primary ext3
###############################################################
[root at fuerte ~]# dumpe2fs /dev/sdb1|less
dumpe2fs 1.41.11 (14-Mar-2010)
Filesystem volume name: ssd1
Last mounted on: <not available>
Filesystem UUID: 87e1674f-243b-4a32-83a9-2b3267525c2d
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index
filetype sparse_super
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 25168
Block count: 100352
Reserved block count: 5017
Free blocks: 91504
Free inodes: 25157
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 1936
Inode blocks per group: 242
----------------------------------------------------------
dumpe2fs /dev/sdb2|less
Filesystem volume name: ssd2
Last mounted on: <not available>
Filesystem UUID: f2e68b83-62fb-47a7-92d2-16476b3e0a57
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index
filetype sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 2501856
Block count: 10003840
Reserved block count: 500192
Free blocks: 3914067
Free inodes: 2163571
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1021
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8176
Inode blocks per group: 511
###############################################################
[root at fuerte ~]# hdparm -I /dev/sdb
/dev/sdb:
ATA device, with non-removable media
Model Number: C300-CTFDDAC128MAG
Serial Number: 00000000100500006CED
Firmware Revision: 0001
Standards:
Used: unknown (minor revision code 0x0028)
Supported: 8 7 6 5
Likely used: 8
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 250069680
LBA user addressable sectors: 250069680
LBA48 user addressable sectors: 250069680
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
Logical Sector-0 offset: 0 bytes
device size with M = 1024*1024: 122104 MBytes
device size with M = 1000*1000: 128035 MBytes (128 GB)
cache/buffer size = unknown
Nominal Media Rotation Rate: Solid State Device
More information about the users
mailing list