31

I just installed ubuntu on my new intel SSD. Now I am not sure, whether paritions are properly aligned in respect to my specific SSD.

Here's my fdisk output.

$ fdisk -l

    Platte /dev/sda: 120.0 GByte, 120034123776 Byte
255 Köpfe, 63 Sektoren/Spur, 14593 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a6294

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1   *           1        1913    15360000   83  Linux
/dev/sda2            1913       14058    97558528   83  Linux
/dev/sda3           14058       14594     4300800   82  Linux Swap / Solaris

Also, do I still need to align my SSD at all, since I am using TRIM on the ext4 partitions by mounting them with the discard flag.

If it is the case, that my partitions are not properly aligned, what could I do to fix this without having to reinstall everything?

  • What do you mean by "properly aligned"? – Flimzy Jun 25 '11 at 8:03
  • 4
    As much as I know, SSDs need to be aligned to provide maximum io. Here's an article on the topic. I am still not sure, how I set up alignment for my specific SSD. – jottr Jun 25 '11 at 10:15
  • 4
    Nope, none of those partitions are aligned. It's suggested (citation needed, but GParted does it that way and so does Windows 7) that the start blocks of your partitions (Anfang) are at a sector evenly dividable by 2048 (= 2048 sectors à 512 byte = 1 MiB). – htorqu – htorque Sep 15 '11 at 9:26
  • @htorque AFAICT from an article about this, it depends on the segment size, which could be 8 MB or even larger. With a modern disk it would probably be easiest to align it to e.g. 32 MB, to fit with most common segment sizes. – l0b0 Jan 11 '13 at 15:47
11

Ensuring SSD alignment with parted tool looks like a pretty good guide for aligning your filesystem on the SSD:

  1. Get the block size of your SSD in bytes (there are heaps of tips, and I don't know which ones will work for which hardware).
  2. Start the partition editor:

    sudo parted
    
  3. Show the partition table:

    p
    
  4. Verify that the numbers in the Start and Size columns are divisible by the block size.
  • 7
    The link is dead. – becko Mar 30 '16 at 20:49
  • The link should work again. – Eponymous Sep 21 at 17:11
51

Parted has an align-check build in.

parted /dev/sda
align-check opt n

n is the partition you want to check.

  • 4
    Worked for me! +1 – Grizly Apr 10 '13 at 1:41
  • 2
    very simple to check for non-technical user. – Mani Feb 4 '17 at 7:29
  • 1
    The optimal alignment uses information reported by disk. That's not always aligned to the physical block size as sometimes the hardware lies about its block size. Sometimes hard disks have 4k blocks internally, but report 512b blocks. Additional check would be to see if start divides to 4096 (and end+1 also) – NickSoft May 30 '17 at 7:14
1

To be sure you have to use both built-in parted align-check option:

for i in `sudo parted /dev/sda -l | grep -oE "^[[:blank:]]*[0-9]+"`; do   sudo parted /dev/sda align-check opt "$i"; done

and manual check (calculate divisibility by 4096B)

I've written a bash script to perform both checks:

https://github.com/crysman/check-partitions-alignment

(works on any GNU/Linux OS)

Or you can check manually using this table:

https://docs.google.com/spreadsheets/d/1dnDlhglxxgApvtUv0-nxn1iFYTqkjRELqCOWJtp3hbs/edit#gid=0

And yes, SSD HDD's partitions need to be aligned properly for maximum performance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.