I recently purchased a used PowerEdge R420 rack server with a Compellent SC220 Storage Shelf. I currently have four 3.5" HDDs in the R420 and ten 2.5" HDDs in the SC220. The R420 server previously had TrueNAS installed, so all of the hard drives on both the R420 and the SC220 are formatted with ZFS. I’m now running Ubuntu on the R420 using ZFS.

The server I’m replacing is an old gaming PC running Manjaro and BTRFS. It has one SSD with the operating system and two 4 TB HDDs set up as RAID0. I’ve been using the RAID to store media downloaded via the Servarr stack.

So, my goal is to create a large pool out of all of the HDDs (except the one running the OS) on the R420 and SC220, and then migrate the media data on the two 4 TB RAID0 drives on my old gaming PC over to R420/SC220 pool. I would then move my Servarr stack over to the R420 as well. Ideally, I’d also like to physically move the two 4 TB HDDs over to the R420. Presumably, I would have to reformat the drives to use ZFS rather the BTRFS and then integrate them somehow into the ZFS pool?

Anyway, I’m not sure of the best procedure to accomplish all of this, so I would be grateful to hear from anyone who has any experience or insight. Thanks in advance.

  • @sailingbytheleeOP
    link
    English
    111 months ago

    Is it necessary (or especially advantageous) to use a hardware RAID controller to create the RAID? I’m completely ignorant of those hardware aspects of servers, so was hoping to create a software RAID using ZFS.

    • @[email protected]
      link
      fedilink
      English
      2
      edit-2
      11 months ago

      Initiator-target (IT) mode enables creating a JBOD with zfs vdevs on it. You can have the zfs vdevs in raidz configuration (which would give you the same drive redundancy as a hardware raid, with raidz1 performing similar to RAID5)

      zfs is commonly used with a JBOD configuration on a raid controller but you can also use any other kind of controller as long as the individual drives can be written to. examples for this would be NVMe drives directly attached to the PCIe bus or normal SATA controllers. This is more a performance optimization than an issue with compatibility.

      • @sailingbytheleeOP
        link
        English
        011 months ago

        Okay, I think that’s basically what I’m trying to do, though I don’t know if I already have a JBOD. My drives certainly do show up on my desktop as just a bunch of individuals drives, haha. How do I access the hardware controller to see how it is currently set up?

        • @[email protected]
          link
          fedilink
          English
          111 months ago

          just a bunch of individuals drives

          that is literally what JBOD means so congratulations you already have one. a classical RAID would show up as a single drive.

          • @sailingbytheleeOP
            link
            English
            0
            edit-2
            11 months ago

            That’s good to know. I’ve been experimenting with zpool with some success this afternoon. The one weird thing is that the disks in the SC220 have two device letters each, while the ones in the R420 have a single device letter in /dev/. Like so:

            R240 Disk 1: sda Disk 2: sdb Disk 3: sdc Disk 4: sdd

            SC220 Disk 5: sde and sdo Disk 6: sdf and sdp … Disk 14: sdn and sdx

            Any idea why a single disk is assigned two device letters, and whether it matters once I create the pool?

            • @[email protected]
              link
              fedilink
              English
              211 months ago

              could you run something like sudo lsblk -o+MODEL and note down the model for the drives? i kind of suspect that the HBA you are using is still doing some abstraction and is not in IT mode. the duplication could come from connecting two SAS cables to the same backplane, thus creating a sort of double image of the enclosure. this is usually handled and hidden by the HBA though if it is configured correctly.

              pls also check that you are in fact using the correct ports on the enclosure. if you are not building a SAN only the “A” ports are supposed to be used and the “B” ports should be unused/free.

              • @sailingbytheleeOP
                link
                English
                011 months ago

                Very interesting and thanks for helping me with this. I do have both SAS cables plugged in. I double-checked the back of the SC220 and I’m definitely only using the “A” ports. The lsblk command you suggested is interesting. Here is the output for the drives with two device letters.

                first set of device letters* sde 8:64 0 931.5G 0 disk ST91000642SS ├─sde1 8:65 0 931.5G 0 part
                └─sde9 8:73 0 8M 0 part
                sdf 8:80 0 931.5G 0 disk ST91000642SS ├─sdf1 8:81 0 931.5G 0 part
                └─sdf9 8:89 0 8M 0 part
                sdg 8:96 0 838.4G 0 disk AL13SEB900 ├─sdg1 8:97 0 838.4G 0 part
                └─sdg9 8:105 0 8M 0 part
                sdh 8:112 0 838.4G 0 disk AL13SEB900 ├─sdh1 8:113 0 838.4G 0 part
                └─sdh9 8:121 0 8M 0 part
                sdi 8:128 0 931.5G 0 disk ST91000642SS ├─sdi1 8:129 0 931.5G 0 part
                └─sdi9 8:137 0 8M 0 part
                sdj 8:144 0 931.5G 0 disk ST91000642SS ├─sdj1 8:145 0 931.5G 0 part
                └─sdj9 8:153 0 8M 0 part
                sdk 8:160 0 931.5G 0 disk ST91000642SS ├─sdk1 8:161 0 931.5G 0 part
                └─sdk9 8:169 0 8M 0 part
                sdl 8:176 0 931.5G 0 disk ST91000642SS ├─sdl1 8:177 0 931.5G 0 part
                └─sdl9 8:185 0 8M 0 part
                sdm 8:192 0 838.4G 0 disk AL13SEB900 ├─sdm1 8:193 0 838.4G 0 part
                └─sdm9 8:201 0 8M 0 part
                sdn 8:208 0 931.5G 0 disk ST91000642SS ├─sdn1 8:209 0 931.5G 0 part
                └─sdn9 8:217 0 8M 0 part

                ***** second set of device letters***** sdo 8:224 0 931.5G 0 disk ST91000642SS ├─sdo1 8:225 0 2G 0 part
                └─sdo2 8:226 0 929.5G 0 part
                sdp 8:240 0 931.5G 0 disk ST91000642SS ├─sdp1 8:241 0 2G 0 part
                └─sdp2 8:242 0 929.5G 0 part
                sdq 65:0 0 838.4G 0 disk AL13SEB900 ├─sdq1 65:1 0 2G 0 part
                └─sdq2 65:2 0 836.4G 0 part
                sdr 65:16 0 838.4G 0 disk AL13SEB900 ├─sdr1 65:17 0 2G 0 part
                └─sdr2 65:18 0 836.4G 0 part
                sds 65:32 0 931.5G 0 disk ST91000642SS ├─sds1 65:33 0 2G 0 part
                └─sds2 65:34 0 929.5G 0 part
                sdt 65:48 0 931.5G 0 disk ST91000642SS ├─sdt1 65:49 0 2G 0 part
                └─sdt2 65:50 0 929.5G 0 part
                sdu 65:64 0 931.5G 0 disk ST91000642SS ├─sdu1 65:65 0 2G 0 part
                └─sdu2 65:66 0 929.5G 0 part
                sdv 65:80 0 931.5G 0 disk ST91000642SS ├─sdv1 65:81 0 2G 0 part
                └─sdv2 65:82 0 929.5G 0 part
                sdw 65:96 0 838.4G 0 disk AL13SEB900 ├─sdw1 65:97 0 2G 0 part
                └─sdw2 65:98 0 836.4G 0 part
                sdx 65:112 0 931.5G 0 disk ST91000642SS ├─sdx1 65:113 0 2G 0 part
                └─sdx2 65:114 0 929.5G 0 part

                The first set and the second set do show that they are assigned to the same device model, which makes sense since I can also see in the Gnome “Disks” app that each of these disks has two device letters (e.g. sde and sdo). However, the interesting thing I noticed in the output above is that the first set of device letters show the smaller partition as 8M in size and the second set of device letters show the smaller partition as 2G in size. I recall that when I first looked at the disks, before I started using zpool to experiment with creating pools, all of the drives in the SC220 had a 2G partition labeled “swap” (in the Gnome Disks app). After I created a zpool using devices sde-sdn, the devices in the zpool have a partition that is 8M in size. Now only the second set of devices (sdo-sdx) still have the 2G partition, which seems weird. Are there two partition tables?

                • @[email protected]
                  link
                  fedilink
                  English
                  111 months ago

                  datasheet for one of the drive models apparently these have a dual SAS interface, so what you are seing could be completely normal. i dont have any experience with this type of setup though.

                  btw you can uniquely identify partitions by using something like lsblk -o+PARTUUID,FSTYPE the partuuid should never repeat in the output even if the partition table was somehow used as a template (though "dd"ing from disk to disk will duplicate those of course)

                  also check out the “SERIAL” column for lsblk to uniquely identify the drives themselves.

                  • @sailingbytheleeOP
                    link
                    English
                    011 months ago

                    Thanks, you are incredibly helpful. The four HDDs in the R420 are SCSI drives, while the ones in the SC220 are SAS drives, and it is indeed the 10 SAS drives in the SC220 that have two device letters each. Wow, how about that. If this is the explanation for why there are two devices per drive, I see on the SAS wiki that it has something to do with: “SAS devices feature dual ports, allowing for redundant backplanes or multipath I/O; this feature is usually referred to as the dual-domain SAS.”

                    That gives me plenty to go on for further online research. I was just getting crap search results before, but now I have a better idea what to search for. Thanks a lot!!

    • @[email protected]
      link
      fedilink
      English
      011 months ago

      Nope - that’s the whole point of ZFS - you don’t need any special hardware, nor do you want that layer hiding the details since ZFS manages the drives. Plus, you probably want to use RAIDZx with spare drives to absorb failure.

      • @sailingbytheleeOP
        link
        English
        011 months ago

        Yes, thanks. After some experimenting, I did find the raidz1 setting and plan to use it for sure!