LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Will linux load on an SSD? (https://www.linuxquestions.org/questions/linux-newbie-8/will-linux-load-on-an-ssd-946577/)

grishenko45 05-24-2012 02:48 AM

Will linux load on an SSD?
 
sounds like a really daft question - but that's why it's in the newbie section!

with ssd's having firmware and drivers, will i be able to install linux on it with no problems?
how would i update the firmware?

thanks

nixblog 05-24-2012 02:53 AM

I've got Linux installed on two SSD's with no problems. As for firmware updates to SSD drives I would say it's best to check the manufacturers website.

jefro 05-24-2012 03:09 PM

For most people they could install a common distro to most ssd's.

As to the most efficient use and speed that is another issue.

Before you update anything you find a device you want and look at forums and web pages about that device and see what others have noted. Each maker of drives offers some way to update, see the OEM's pages for how to.

sycamorex 05-24-2012 03:19 PM

This, for example, is for OCZ SSD drives:
http://www.ocztechnology.com/ssd_too...LE,_Agility_2/

They have got a native linux firmware update tool.

nixblog 05-24-2012 04:17 PM

I use OCZ drives now, they are very good. As the website says, don't bother updating firmware unless there is an issue causing you to upgrade. As stated too on the website, upgrading firmware on SSD's can result in a complete wipe of data on a drive - so be warned!

Babertje 05-24-2012 05:32 PM

SSD's don't like many random I/O operations. These are controled by the kernel "elevator" parameter. The Linux kernel has four different elevators, each with different properties. One of them, noop, is essentially a first-in first-out (FIFO) queue with no extra logic. This one is perfect for SSD. Simply add “elevator=noop” to the kernel parameters in your boot loader’s configuration (/etc/grub.conf, for example), and restart. Noop is is on the most distro's not the default scheduler so it has to be set.

Also add "noatime" an "discard" in your /etc/fstab
Code:

/dev/sda1 / ext4 defaults,noatime,discard 0 1
The discard option adds TRIM Support for the SSD.
Partition Alignment
This is the most important thing to do with a new "drive"
Proper partition alignment is essential for optimal performance and longevity.
Key to alignment is partitioning to (at least) the EBS (erase block size) of the SSD. Before your re-partition a new SSD investigate the alignment parameters from the vendor's website.

Recomendation: do not put /var on a SSD, use if you can to a normal drive with that rotating thing. Var has the most I/O and mostly logfiles package management and cache files do very much rewrites.

TobiSGD 05-24-2012 07:11 PM

Quote:

Originally Posted by Babertje (Post 4686806)
Simply add “elevator=noop” to the kernel parameters in your boot loader’s configuration (/etc/grub.conf, for example), and restart. Noop is is on the most distro's not the default scheduler so it has to be set.

If you also have mechanical disks in your system it is better to set the elevator on a per disk basis, for example with
Code:

echo noop > /sys/block/sda/queue/scheduler
in your rc.local (assuming here that your SSD is /dev/sda),

Quote:

Also add "noatime" an "discard" in your /etc/fstab
Code:

/dev/sda1 / ext4 defaults,noatime,discard 0 1

The discard option adds TRIM Support for the SSD.
From what I have read the discard option can have serious impact on the performance. You can omit that option and manually (or per cron-job) run the fstrim command (available for ext4, don't know about other file-systems) if that is the case for you.

About the firmware updates: Intel has bootable ISOs for that purpose, so it is independent of the OS you use, Corsair supports firmware updates only from within Windows.

Babertje 05-25-2012 01:41 AM

Thanks TobiSGD,
I have three out of four sata devices that are SSD all by the same brand, so i came up with a script to be called by /etc/rc.local
Code:

#!/bin/bash

# Brand name of the Solid State Device(s)
ssdbrand=OCZ

# get_them_all
ssd=`ls -l /dev/disk/by-id/ |grep $ssdbrand |awk '{print $11}' |cut -c7-9 |sed 's/[0-9]*//g' |sort -u |sed -n 'H;${g;s/\n/ /g;p}'`
# howmany devices
names=`echo $ssd |wc -w`

x=1
while [ $x -le $names ]
do
  echo noop > /sys/block/`echo $ssd |awk '{print $'$x'}'`/queue/scheduler
  x=$(( $x + 1 ))
done



All times are GMT -5. The time now is 08:23 AM.