September 9, 200817 yr I do apologize if this question has been asked before but I was unable to find an answer. Does unRAID support disks with other interfaces than IDE and SATA e.g. USB and Firewire? Because of unRAID's JBOD architecture, in theory it should be possible to use external USB and Firewire drives as data drives. If unRAID does not support e.g. USB data disks, it would be a nice feature for upcoming versions, as I am certain that in addition to having internal drives, many people have external disks collecting dust that could be put to use in an unRAID array.
September 9, 200817 yr Not officially, but someone was able to do a binary edit of the emhttp to support an external USB array. The real issue with USB will be speed. When doing a full parity build/check, it will hold back the speed of the task. I still think it should be allowed rather then forced to not be available. I have a nice lil USB array with 4 IDE drives that I would like to put to use.
September 10, 200817 yr Author I agree. I believe that the inclusion of this feature would open up a larger market for unRAID. I for example have many old external drives and few internal ones.
September 10, 200817 yr As far as I remember, support of alternate file-systems is already on Tom's laundry list. Not sure of scsi and usb interfaces though. You are correct though, it might be slow, but would make older hardware you might have laying around useful. ( I myself have two "usb" external enclosures with hard disks I used for backups of my other PCs) Joe L.
September 10, 200817 yr I have one of those cool lil Venus external USB 4 IDE drive arrays. AMS VENUS T4U DS-2340UBK 3.5" USB 2.0 External Enclosure http://www.newegg.com/Product/Product.aspx?Item=N82E16817332008 SlimPRO SP620 I even have a lil ITX machine that it can sit on top of, so I'm dying to use it as a small off load unRAID server.. http://www.cappuccinopc.com/slimpro-sp620.asp http://www.kingyoung.com.tw/s620.htm Cool thing about the USB array box is it can do all kinds of RAID across the multiple drives. I was planning to put my 4 spare 300's in this puppy, and a 300 in my slimpro for parity. Either that or I was going to RAID0 1 pair of drives and RAID0 the other pair of drives, using the internal drive as parity. Heck, I might juist use the external drives as parity this way the internal drive is read at top speed. All sorts of cool possibilities.
September 10, 200817 yr By creating the appropriate entries in /dev/disk/by-path and /dev/disk/by-id you might just be able to use your usb drives... see this experiment: I first made two new symbolic links on /dev/disk/by-id to my USB drive root@Tower:/boot# ls -l /dev/disk/by-id total 0 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-HDS725050KLAT80_KRVA03ZAG3V5LD -> ../../hdb lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-HDS725050KLAT80_KRVA03ZAG3V5LD-part1 -> ../../hdb1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-HDS725050KLAT80_KRVA03ZAG4V99D -> ../../hdd lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-HDS725050KLAT80_KRVA03ZAG4V99D-part1 -> ../../hdd1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-MAXTOR_STM3500630A_5QG00FTK -> ../../hdi lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-MAXTOR_STM3500630A_5QG00FTK-part1 -> ../../hdi1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-Maxtor_6Y250P0_Y63KH45E -> ../../hdj lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-Maxtor_6Y250P0_Y63KH45E-part1 -> ../../hdj1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-Maxtor_6Y250P0_Y63KH8FE -> ../../hdk lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-Maxtor_6Y250P0_Y63KH8FE-part1 -> ../../hdk1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST31000340AS_9QJ0JPJS -> ../../sdc lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST31000340AS_9QJ0JPJS-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST3400620A_5QH00PF4 -> ../../hde lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST3400620A_5QH00PF4-part1 -> ../../hde1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST3400620A_5QH00QPN -> ../../hdc lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST3400620A_5QH00QPN-part1 -> ../../hdc1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST3400633A_3PM0BE0T -> ../../hdg lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST3400633A_3PM0BE0T-part1 -> ../../hdg1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST3400633A_3PM0LZ3D -> ../../hdf lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST3400633A_3PM0LZ3D-part1 -> ../../hdf1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST3500641A_3PM147P2 -> ../../hdh lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST3500641A_3PM147P2-part1 -> ../../hdh1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST3750640AS_5QD2ZR29 -> ../../sdb lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST3750640AS_5QD2ZR29-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 ata-ST3750640A_5QD2AX3G -> ../../hda lrwxrwxrwx 1 root root 10 Aug 23 19:01 ata-ST3750640A_5QD2AX3G-part1 -> ../../hda1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 scsi-SATA_ST31000340AS_9QJ0JPJS -> ../../sdc lrwxrwxrwx 1 root root 10 Aug 23 19:01 scsi-SATA_ST31000340AS_9QJ0JPJS-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 scsi-SATA_ST3750640AS_5QD2ZR29 -> ../../sdb lrwxrwxrwx 1 root root 10 Aug 23 19:01 scsi-SATA_ST3750640AS_5QD2ZR29-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 usb-SanDisk_Corporation_MobileMate_200445269218B56190D7-0:0 -> ../../sda lrwxrwxrwx 1 root root 10 Aug 23 19:01 usb-SanDisk_Corporation_MobileMate_200445269218B56190D7-0:0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Aug 28 14:25 usb-USB_2.0_Storage_Device_00042222200000118226-0:0 -> ../../sdd lrwxrwxrwx 1 root root 10 Aug 28 14:25 usb-USB_2.0_Storage_Device_00042222200000118226-0:0-part1 -> ../../sdd1 root@Tower:/boot# cd /dev/disk/by-id root@Tower:/dev/disk/by-id# ln -s ../../sdd ata-USB_2.0_Storage_Device_00042222200000118226-0:0 root@Tower:/dev/disk/by-id# ln -s ../../sdd1 ata-USB_2.0_Storage_Device_00042222200000118226-0:0-part1 I then created the same type of additional symbolic links in /dev/disk/by-path root@Tower:/dev/disk/by-path# ls -l total 0 lrwxrwxrwx 1 root root 9 Aug 28 14:25 pci-0000:00:1d.7-usb-0:3:1.0-scsi-0:0:0:0 -> ../../sdd lrwxrwxrwx 1 root root 10 Aug 28 14:25 pci-0000:00:1d.7-usb-0:3:1.0-scsi-0:0:0:0-part1 -> ../../sdd1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0 -> ../../sda lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:00:1f.1-ide-0:0 -> ../../hda lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:00:1f.1-ide-0:0-part1 -> ../../hda1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:00:1f.1-ide-0:1 -> ../../hdb lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:00:1f.1-ide-0:1-part1 -> ../../hdb1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:00:1f.1-ide-1:0 -> ../../hdc lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:00:1f.1-ide-1:0-part1 -> ../../hdc1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:00:1f.1-ide-1:1 -> ../../hdd lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:00:1f.1-ide-1:1-part1 -> ../../hdd1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:00:1f.2-scsi-0:0:0:0 -> ../../sdb lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:00:1f.2-scsi-0:0:0:0-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:00:1f.2-scsi-1:0:0:0 -> ../../sdc lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:00:1f.2-scsi-1:0:0:0-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:02:00.0-ide-0:0 -> ../../hde lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:02:00.0-ide-0:0-part1 -> ../../hde1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:02:00.0-ide-0:1 -> ../../hdf lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:02:00.0-ide-0:1-part1 -> ../../hdf1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:02:00.0-ide-1:0 -> ../../hdg lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:02:00.0-ide-1:0-part1 -> ../../hdg1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:02:00.0-ide-1:1 -> ../../hdh lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:02:00.0-ide-1:1-part1 -> ../../hdh1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:02:02.0-ide-0:0 -> ../../hdi lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:02:02.0-ide-0:0-part1 -> ../../hdi1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:02:02.0-ide-0:1 -> ../../hdj lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:02:02.0-ide-0:1-part1 -> ../../hdj1 lrwxrwxrwx 1 root root 9 Aug 23 19:01 pci-0000:02:02.0-ide-1:0 -> ../../hdk lrwxrwxrwx 1 root root 10 Aug 23 19:01 pci-0000:02:02.0-ide-1:0-part1 -> ../../hdk1 root@Tower:/dev/disk/by-path# ln -s ../../sdd pci-0000:00:1d.7-ata-0:3:1.0-scsi-0:0:0:0 root@Tower:/dev/disk/by-path# ln -s ../../sdd1 pci-0000:00:1d.7-ata-0:3:1.0-scsi-0:0:0:0-part1 root@Tower:/dev/disk/by-path# killall emhttp root@Tower:/dev/disk/by-path# /usr/local/sbin/emhttp & You can then stop the array, go to the devices page, and... the USB drive is there to assign. I did not experiment further, I did not assign the drive to a slot, I did not try to format or use it, but I'll bet unRAID will format it, and use it like any other if I did assign it and start the array... just slower. You may not want to experiment with your precious data on your working array, but with a spare set of disks... sure. Just need to create the symbolic links to the alternate "names" under /dev/disk/ before emhttp is started in the "go" script and hope the USB subsystem puts the drives on the same controllers each time. If this worked, I'd probably do a short script to locate the existing entry by its serial number and then programatically create the additional entries with the correct information. Have fun... If you accidentally erase all your data (unlikely, but possible) you are on your own. Just make sure to make symlinks to both the full drive AND the first partition. Don't accidentally link to one of the drives already in the array and you will probably be fine. The biggest issue I see is you unplug the USB drive and it is exactly like having a failed drive, so portability is no longer available unless you force a parity check and re-sync after writing to the USB drive in another machine. Note... the USB drive will be re-formatted with a reiserfs. Don't do this experiment with your precious NTFS backup drive in the USB enclosure. The old contents will be erased when it clears and re-formats the USB drive. Joe L.
September 11, 200817 yr Author Doing awesome linux stuff Joe L, many thanks for your suggestion! If it is this easy (easy as in executing it, not easy as in coming-up-with-it-in-the-first-place) to incorporate USB drives in unRAID (yes, I realize that this might not be stable), it should not be that time consuming to get official support in the future. As I said before because of the JBOD architecture, using USB-disks as data disks is actually a nice idea. When I think of it, unRAID could differentiate itself even more from competing products if it incorporated USB-functionality.
September 11, 200817 yr When I think of it, unRAID could differentiate itself even more from competing products if it incorporated USB-functionality. What does this mean? One of the things I would love to see come to unRAID is auto mount integration. This is a feature I love about my readyNAS NV+ I pop a USB disk into one of the ports and it becomes available as a share on the network. I pop my USB Flash key in a specific port and it automatically gets copied to a DATED directory. This is great for my camera uploads.
September 11, 200817 yr I think Pizza box will also take an iso of any disk popped in. Nice feature as well.
September 11, 200817 yr When I think of it, unRAID could differentiate itself even more from competing products if it incorporated USB-functionality. What does this mean? One of the things I would love to see come to unRAID is auto mount integration. This is a feature I love about my readyNAS NV+ I pop a USB disk into one of the ports and it becomes available as a share on the network. I pop my USB Flash key in a specific port and it automatically gets copied to a DATED directory. This is great for my camera uploads. I've never worked with the files in /etc/udev/rc.d but it is my understanding you can put a file of your own in that directory, and the udev process will run whatever you define. You can specify a shell script or other process to be invoked when a new device is detected for the matching rule. It sounds as if readyNAS has done something almost exactly like that... but we could probably do the same. (I would think that an additional rule or two are all that would be needed to create the additional entries in /dev/disk/by-...) That would make unraid's emhttp think the drives are potential for inclusion in an array. I have not considered auto-mounting of drives, but I was going to add a button to the unmenu "Unassigned disks" section to mount & share an un-assigned disk, and similar logic to un-mount it. It gives me the control I want when I might be moving some data around using USB drives in external cases. Joe L.
September 11, 200817 yr I think Pizza box will also take an iso of any disk popped in. Nice feature as well. Pizza box Provide more info please
September 11, 200817 yr Author When I think of it, unRAID could differentiate itself even more from competing products if it incorporated USB-functionality. What does this mean? I was trying to say that some RAID systems (e.g. who do not have a specific parity disk), would never (well, never is a harsh word but you understand) support an array where there would be IDE/SCSI-drives mixed with USB-drives. For example, the inclusion of a USB-disk in an IDE/SCSI RAID-5 array would totally kill write performance and the write speed of the array would be equal to the write speed of the USB-disk. With unRAID, the USB-disk would be used as a data disk. Hence, unRAID-array would only exhibit "poor" write-performance when you were actually writing data to the USB-disk.
September 11, 200817 yr I was trying to say that some RAID systems (e.g. who do not have a specific parity disk), would never (well, never is a harsh word but you understand) support an array where there would be IDE/SCSI-drives mixed with USB-drives. OK, Understood, thanks for clarifying.
Archived
This topic is now archived and is closed to further replies.