Advice on adding SSD to UnRAID box


Recommended Posts

OK, I've installed the SSD into the server. I saw the SSD listed in the startup dialog when UnRAID came online. Also, when I stop the array, the SSD appears on the device page as one that can be added to the array.

 

SO, from a hardware perspective at least, I think I'm ready for the next step....

 

I've not used S.N.A.P. but if you make the filesystem with a label.

 

mkreiserfs -l (lablename)

then mount it in the go script by label,

 

mount -L (labelname)  the system will find it wherever it exists and mount it.

 

here are some examples.

 

mkreiserfs -l SSD

To format it.

 

To mount it:

mkdir /mnt/SSD

mount -L SSD /mnt/SSD

 

you will need to add a section to the /etc/samba/smb-shares.conf like such

 

cat <<-EOF >> /etc/samba/smb-shares.conf

[sSD]

        path = /mnt/SSD

        read only = No

EOF

smbcontrol smbd reload-config

 

 

I'm doing this from memory, so it may have errors.

 

Can I ask you some questions on this?

 

1) Can I assume you're running these commands from the server login, or via Putty?

2) I'm not using SNAP - does this make a difference?

3) Assuming the first 2 points are OK, your first command

 

mkreiserfs -l SSD

To format it.

 

How does the system know to apply this label to the disk I want it to? Am I missing something here?

 

Again, any help is appreciated!

 

 

Link to comment

use the hardware device node when formatting.

 

mkreiserfs -l SSD /dev/disk/by-id/?

or

mkreiserfs -l SSD /dev/sd?

 

where ? is the hardware of the disk you are going to format

 

or you can do

 

fdisk -l to look for the proper disk

You may need to add a partition first with

 

fdisk /dev/sd?

 

where ? is the SSD device.

 

Double check to be sure it is not a disk in your array.

Link to comment

use the hardware device node when formatting.

 

mkreiserfs -l SSD /dev/disk/by-id/?

or

mkreiserfs -l SSD /dev/sd?

 

where ? is the hardware of the disk you are going to format

 

or you can do

 

fdisk -l to look for the proper disk

You may need to add a partition first with

 

fdisk /dev/sd?

 

where ? is the SSD device.

 

Double check to be sure it is not a disk in your array.

 

I think I'm almost there (in understanding anyway). What I need to understand first though, is what ID to use for the SSD in a way that UnRAID will understand which disk to perform the command on.

 

I stopped the array, went into the devices page, and looked for any unallocated devices. Sure enough I found the SSD there, but it was described like this....

 

pci-0000:00:1f.2-scsi-0:0:0:0 host9(sdi) INTEL_SSDSA2CT040G3-CVPR122604U3040AGN

 

Now, in your command lines - e.g.

 

mkreiserfs -l SSD /dev/sd?

 

to perform this command on my SSD would I replace the 'sd?' value with 'sdi' ? Is this the device ID you're referring to? I'm also assuming in this command you're 'labelling the SSD with the name 'SSD'. Is that correct?

Link to comment

Sorry! I got impatient and thought I'd give it a try anyway. I "think" it worked OK (I wanted to give the disk the label 'ZAP') but I'm not sure what to do next. Here's the entire conversation I had using Putty (sorry, it's a bit long)....

 

Disk /dev/sdc: 2000.3 GB, 2000398934016 bytes

1 heads, 63 sectors/track, 62016336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdc1              2    62016336  1953514552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdd: 2000.3 GB, 2000398934016 bytes

1 heads, 63 sectors/track, 62016336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdd1              2    62016336  1953514552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sde: 513 MB, 513614336 bytes

16 heads, 63 sectors/track, 995 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sde1  *          1        996      501545    b  W95 FAT32

Partition 1 has different physical/logical endings:

    phys=(994, 15, 63) logical=(995, 3, 4)

 

Disk /dev/sdf: 2000.3 GB, 2000398934016 bytes

1 heads, 63 sectors/track, 62016336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdf1              2    62016336  1953514552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdg: 1500.3 GB, 1500301910016 bytes

1 heads, 63 sectors/track, 46512336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdg1              2    46512336  1465138552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdh: 1500.3 GB, 1500301910016 bytes

1 heads, 63 sectors/track, 46512336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdh1              2    46512336  1465138552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdi: 40.0 GB, 40020664320 bytes

255 heads, 63 sectors/track, 4865 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00000000

 

Disk /dev/sdi doesn't contain a valid partition table

 

Disk /dev/sdj: 1500.3 GB, 1500301910016 bytes

1 heads, 63 sectors/track, 46512336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdj1              2    46512336  1465138552+  83  Linux

Partition 1 does not end on cylinder boundary.

root@Server:~# fdisk /dev/sdi

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x264ae688.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

 

 

The number of cylinders for this disk is set to 4865.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

  (e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

 

Command (m for help):

Command (m for help): m

Command action

  a  toggle a bootable flag

  b  edit bsd disklabel

  c  toggle the dos compatibility flag

  d  delete a partition

  l  list known partition types

  m  print this menu

  n  add a new partition

  o  create a new empty DOS partition table

  p  print the partition table

  q  quit without saving changes

  s  create a new empty Sun disklabel

  t  change a partition's system id

  u  change display/entry units

  v  verify the partition table

  w  write table to disk and exit

  x  extra functionality (experts only)

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

root@Server:~# fdisk -l

 

Disk /dev/sda: 1500.3 GB, 1500301910016 bytes

1 heads, 63 sectors/track, 46512336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sda1              2    46512336  1465138552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdb: 2000.3 GB, 2000398934016 bytes

1 heads, 63 sectors/track, 62016336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdb1              2    62016336  1953514552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdc: 2000.3 GB, 2000398934016 bytes

1 heads, 63 sectors/track, 62016336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdc1              2    62016336  1953514552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdd: 2000.3 GB, 2000398934016 bytes

1 heads, 63 sectors/track, 62016336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdd1              2    62016336  1953514552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sde: 513 MB, 513614336 bytes

16 heads, 63 sectors/track, 995 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sde1  *          1        996      501545    b  W95 FAT32

Partition 1 has different physical/logical endings:

    phys=(994, 15, 63) logical=(995, 3, 4)

 

Disk /dev/sdf: 2000.3 GB, 2000398934016 bytes

1 heads, 63 sectors/track, 62016336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdf1              2    62016336  1953514552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdg: 1500.3 GB, 1500301910016 bytes

1 heads, 63 sectors/track, 46512336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdg1              2    46512336  1465138552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdh: 1500.3 GB, 1500301910016 bytes

1 heads, 63 sectors/track, 46512336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdh1              2    46512336  1465138552+  83  Linux

Partition 1 does not end on cylinder boundary.

 

Disk /dev/sdi: 40.0 GB, 40020664320 bytes

255 heads, 63 sectors/track, 4865 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x264ae688

 

  Device Boot      Start        End      Blocks  Id  System

 

Disk /dev/sdj: 1500.3 GB, 1500301910016 bytes

1 heads, 63 sectors/track, 46512336 cylinders

Units = cylinders of 63 * 512 = 32256 bytes

Disk identifier: 0x00000000

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdj1              2    46512336  1465138552+  83  Linux

Partition 1 does not end on cylinder boundary.

root@Server:~# mkreiserfs -l ZAP /dev/sdi

mkreiserfs 3.6.19 (2003 www.namesys.com)

 

A pair of credits:

Chris Mason wrote the journaling code for V3,  which was enormously more useful

to users than just waiting until  we could create a wandering log filesystem as

Hans would have unwisely done without him.

Jeff Mahoney optimized the bitmap  scanning code for V3,  and performed the big

endian cleanups.

 

Continuing core development of ReiserFS is  mostly paid for by Hans Reiser from

money made selling licenses  in addition to the GPL to companies who don't want

it known that they use ReiserFS  as a foundation for their proprietary product.

And my lawyer asked 'People pay you money for this?'. Yup. Life is good. If you

buy ReiserFS, you can focus on your value add rather than reinventing an entire

FS.

 

 

/dev/sdi is entire device, not just one partition!

Use -f to force over

root@Server:~# -f

-bash: -f: command not found

root@Server:~#

 

Link to comment

use

fdisk -u -l /dev/sdl

to check.

 

 

By the way - when I do this on sdi this is what it comes back with...

 

Server login: root

Linux 2.6.31.12-unRAID.

root@Server:~# fdisk -u -l /dev/sdi

 

Disk /dev/sdi: 40.0 GB, 40020664320 bytes

255 heads, 63 sectors/track, 4865 cylinders, total 78165360 sectors

Units = sectors of 1 * 512 = 512 bytes

Disk identifier: 0x264ae688

 

  Device Boot      Start        End      Blocks  Id  System

root@Server:~#

 

Link to comment

More questions...

 

I'm reading a few of those articles (wow, SSD usage in linux is very new, and the setup to ensure write efficiency is ......a very manual process at the moment!) - they all seem concerned with ensuring that the SSD performs well in a linux environment - something I need to be concerned with in the unraid scenario - however, the step where I was giving the drive an identifier (I wanted to call it ZAP) does not seem to have made the drive visible to other PCs on the network which, I thought, was the point of this exercise.

 

Have I missed something, is there an order I need to do things in (i.e. get the SSD partition working correctly in unraid before giving it a label & using it)?

 

I'm a bit lost....

Link to comment

OK, I've done a bit more reading and, before I ask about getting this disk visible I need to know a few things.

 

In the context of UnRAID, do I NEED to partition my SSD? I don't plan on booting from this disk at all. It seems that all of the formatting to ensure the SSD partitions are aligned on page boundaries are ONLY applicable IF you are partitioning the disk.

 

If UnRAID doesn't REQUIRE that I partition it, then I'm inclined to NOT partition it and just use the whole disk - it's only 40Gb after all.

 

Thoughts?

Link to comment

But, in the context of the linux mag article hyperlinked above there is the following quote...

 

"If you aren’t going to partition your SSD then you don’t have to worry about this too much although it definitely doesn’t hurt."

 

I took that article to mean "If you aren't going to have more than one partition on your SSD........"  because, yes, you HAVE to have at least one partition, but if that's NOT what that means then the above statement is meaningless, because you're STILL going to have to align the partition to the page boundaries.

 

Please tell me if I've got it wrong....

Link to comment

Can't say you've got it wrong, but I can say, it's not a practice I've ever done nor anyone I know.

I would make 1 partition the whole disk.. being sure to align it per some of the recommendations.

If you are having difficulty with it, downlaod gpartd iso. make a bootable cdrom and use that to make the partition.

 

Then make the reiserfs manually with the label.

 

To make this new filesystem visible to the world, you need to add a segment to the smb configuration.

Since I have my own custom scripts, I'm going to leave that for others to jump into. I think there is an extra configuration available on the /boot flash in the config directory.

 

Link to comment

Made some progress!  :)

 

Decided to go with the 32*32 setup for partitioning the SSD. After doing the partition and then executing the fdisk -l command the SSD now shows...

 

Disk /dev/sdi: 40.0 GB, 40020664320 bytes

32 heads, 32 sectors/track, 76333 cylinders

Units = cylinders of 1024 * 512 = 524288 bytes

Disk identifier: 0x264ae688

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sdi1              2      76333    39081984  83  Linux

 

Then, I installed the filesystem. Here's what I saw....

 

root@Server:~# mkreiserfs -l ZAPPITI /dev/sdi1

mkreiserfs 3.6.19 (2003 www.namesys.com)

 

A pair of credits:

BigStorage  (www.bigstorage.com)  contributes to our general fund  every month,

and has done so for quite a long time.

 

Vladimir Demidov wrote the parser for sys_reiser4(), the V3 alpha port, part of

the V3  journal  relocation code,  and helped  Hans keep  the business  side of

things running.

 

 

Guessing about desired format.. Kernel 2.6.31.12-unRAID is running.

Format 3.6 with standard journal

Count of blocks on the device: 9770496

Number of blocks consumed by mkreiserfs formatting process: 8510

Blocksize: 4096

Hash function used to sort names: "r5"

Journal Size 8193 blocks (first block 18)

Journal Max transaction length 1024

inode generation number: 0

UUID: a0e637c8-2387-4516-ae3f-f745428ae81c

LABEL: ZAPPITI

ATTENTION: YOU SHOULD REBOOT AFTER FDISK!

        ALL DATA WILL BE LOST ON '/dev/sdi1'!

Continue (y/n):y

Initializing journal - 0%....20%....40%....60%....80%....100%

Syncing..ok

 

Tell your friends to use a kernel based on 2.4.18 or later, and especially not a

kernel based on 2.4.9, when you use reiserFS. Have fun.

 

ReiserFS is successfully created on /dev/sdi1.

 

 

So, now (assuming that all looks OK) I'm ready to try and make the SSD 'visible' on my network!

 

Can anyone chime in on how this can be done?

 

Thanks!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.