My first FreeNAS ZFS setup, and some questions

Status
Not open for further replies.

redking

Dabbler
Joined
Jul 6, 2016
Messages
21
Hi, I am preparing to setup my first FreeNAS server. It is going to be a KVM VM with an "IBM m1015 in IT-mode" passed through with pci-passthough.
Host is running on a asus x99-a motherboard with intel i7-5820k 6-core and 64GB ddr4 non-ecc ram.

I am planning on setting up a "raid z2" for the ability to loose an extra disk. the use for the raid will be a plex mediaserver with 5-6 users and an owncloud server with 5-6 users. will raid z2's performance be good enough for this type of usage?

The first issue I'm running in to is the fact that I dont have ECC ram, and right now money is tight, So it will most likly be a few months untill I can afford to do any upgrades. So the question here is, is the non-ECC RAM issue likely to break my ZFS system in the span of 2 months? the RAM I use now is about 6 months old, and memtest shows no issues.

As for my VM setup, I have enabled iommu for PCI-passthrough and I have used virt manager to set the VM up. I will paste the XML file under here, and if anyone sees any flaws in the setup I would be very, very grateful for a heads up. I would much rather feel like an idiot now, rather then 6 months from now :)

Everything seems to work fine, at least SMART seems to working on the disks connected to the m1015 controller.

Code:
XML Dump:
<domain type='kvm' id='5'>
  <name>laden.local-Filserver-FreeNAS</name>
  <uuid>6df8da78-104c-4a25-ba86-0155bdd2142d</uuid>
  <memory unit='KiB'>17825792</memory>
  <currentMemory unit='KiB'>17825792</currentMemory>
  <vcpu placement='static'>6</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.5'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-model'>
    <model fallback='allow'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <backingStore/>
      <target dev='sda' bus='sata'/>
      <readonly/>
      <boot order='1'/>
      <alias name='sata0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/laden.local-Filserver-FreeNAS.qcow2'/>
      <backingStore/>
      <target dev='sdb' bus='sata'/>
      <boot order='2'/>
      <alias name='sata0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </controller>
    <controller type='usb' index='0' model='nec-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/>
    </controller>
    <serial type='pty'>
      <source path='/dev/pts/15'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/15'>
      <source path='/dev/pts/15'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='5903' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <sound model='ich6'>
      <alias name='sound0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </sound>
    <video>
      <model type='cirrus' vram='16384' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x06' function='0x0'/>
    </hostdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir0'/>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
      <alias name='redir1'/>
    </redirdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='apparmor' relabel='yes'>
    <label>libvirt-6df8da78-104c-4a25-ba86-0155bdd2142d</label>
    <imagelabel>libvirt-6df8da78-104c-4a25-ba86-0155bdd2142d</imagelabel>
  </seclabel>
</domain>
 
Last edited by a moderator:

JDCynical

Contributor
Joined
Aug 18, 2014
Messages
141
So the question here is, is the non-ECC RAM issue likely to break my ZFS system in the span of 2 months? the RAM I use now is about 6 months old, and memtest shows no issues.
(I'm sure someone will correct me if I'm wrong :) )

To be accurate, FreeNAS will work with non-ECC RAM just fine, but it does increase the risk of Something Bad (tm) happening. One can't really give a figure of how much of an increase, there are too many variables.

If you search around the forums, there are lots of people who have been running non-ECC without any issues for periods of time much longer than two months. Some think the strong recommendation for ECC is people just being paranoid, others feel the data being stored is not important enough for the extra cost of ECC and the necessary board and CPU combination to make use of it. And there are others that are kicking themselves for not getting ECC from the start.

I would say your chances of having an issue are slim, but they are definitely higher compared to using ECC RAM. Just make sure your backups are current and usable in case something does happen.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Though I don't think I'd ever recommend non-ECC RAM, I did run it in my FreeNAS server (two iterations ago) for a couple of years, with no ill effects. Very little about that machine followed the hardware recommendations, but I never had significant problems with it. I was even able to replace 2 TB drives in a RAIDZ1 pool on more than one occasion without data loss. But the smart money says to follow the recommendations--they're there to protect your data.
 
Status
Not open for further replies.
Top