m00nraker
Dabbler
- Joined
- Apr 12, 2015
- Messages
- 13
Hi.
I openend the thread about issues with LSI 9300 passthrough to 9.3 under Proxmox/KVM. Before I go back to this thread I wanted to ask something generell about FreeNAS and virtualization:
I read the stickies and some more in this forum. I also read a lot about ZFS and the background of it. Of course this doesn't turn me into a specialist for FreeNAS, ZFS and virtualization. The experts here always pray not to virtualize it. Up to now, I really didn't found the right answer, why it's not a good idea and where exactly the reason is for data loss in this scenario. I always read things: Don't do it. But if you do it, it will finally end up in loosing your pool and we don't want crying users.
Sometimes it sounds that FreeNAS can work as a guest, but it seems to me that there is a big random factor in the game. It could come to a big crash one day, but it must not. Then you can read, that a crash will come for sure, it's only a question of time when. The experts say, people could do wrong things in virtualizing FreeNAS, so give up this way.
E.g. they could use Non-ECC RAM. I understand, why it's a bad idea not to use ECC and that even pool backups are not the solution to be protected agains data lost when using Non-ECC. That's clear. And I personal don't see the problem, not to use ECC, so that is no question for me, assuming money is not a showstopper. When they say "don't do it", they probably could think I could do something wrong. ECC is one example. Then I could use non server hardware, even it is e.g. labeled with vt-d. I also understand when the hardware is labeled with vt-d on top, vt-d must not be well implemented inside, see consumer market. So the potential FreeNAS virtualization user could get into trouble with his pci-passthrough setup, or the user could buy server hardware and make mistakes setting up the software. He could for example configure virtual harddisks, what is a no go. Maybe FreeNAS gets wrong smart-data and doesn't see the disk is beginning to die, and so on. These variables of doing wrong things maybe one reason for not giving the advice to virtualize it. I could understand this, when you would communicate this to uninformed users. Better get your hands off, you could make mistakes. But are there other important reasons I don't see at the momment?
We have many variables in the hole game. Let's suppose, we have good hardware for the job and we make no design mistakes when setting up the virtual enviromnent (HBA passthrough, no virtual disks, server board, ECC, FreeNAS could access smart data, etc.). What else can lead to a complete crash of the pool data, so that the pool isn't accessible anymore, when using a virtualized FreeNAS? Basically this is exactly what is always prayed and said here.
Let me quote some guys of the forum.
I could quote some others. But you know what I mean. I think these guys know what they are talking about. But I didn't find the answer, why they always say, don't do it. Is the only reason for that what I tried to describe above in my own words?
My last point is, what happens, when a native installed FreeNAS crashes compared to a virtualized FreeNAS crash?
Does a FreeNAS crash generally lead to data loss or pool loss? I don't think so, beacuse you can protect against some cases. Maybe I'm wrong. On a native setup: The motherboard could fail, powerloss, HBA failure, HDD failure, ECC-RAM failure,... So there are some points that can make FreeNAS crash, even if it's native. You can proteted agains some situations: Redundant data, UPS, ECC, maybe redundant power supply, redundant ZIL log devices in Raid1. But there is always room for a complete system failure, even when FreeNAS is native installed. FreeNAS itself is praised to be rock soild. But maybe ugly bugs are still there, who knows. The same for ZFS. I think some hypervisors are also rock solid. Big systems are running on top of them. A virtualized FreeNAS has this as an additional layer between itself and the hardware. Now, when I trust the FreeNAS and ZFS code, why shouldn't I trust my hypervisor code? The advice not to do it only because of the existence of this additional software layer? Or is there some more reason not to do it? Using a hypervisor leads to a higher probalility for system failure compared to not using it. But this higher probalility is relative, because there is always a probalility for system failure, even when using a native FreeNAS setup.
Now, what you think, do I bake my favorite own world or is there a bit truth in it? I read that so many users here have lost their data because of virtualization. Are there reproducable steps why it comes to data loss?
I want some more information about data corruption in a virtualized FreeNAS enviromnent. Don't do it is not enough, not to do it. I'm not resistent to your advices, I want to learn s.th. about it.
Maybe you could help make me find my answers.
Kai
I openend the thread about issues with LSI 9300 passthrough to 9.3 under Proxmox/KVM. Before I go back to this thread I wanted to ask something generell about FreeNAS and virtualization:
I read the stickies and some more in this forum. I also read a lot about ZFS and the background of it. Of course this doesn't turn me into a specialist for FreeNAS, ZFS and virtualization. The experts here always pray not to virtualize it. Up to now, I really didn't found the right answer, why it's not a good idea and where exactly the reason is for data loss in this scenario. I always read things: Don't do it. But if you do it, it will finally end up in loosing your pool and we don't want crying users.
Sometimes it sounds that FreeNAS can work as a guest, but it seems to me that there is a big random factor in the game. It could come to a big crash one day, but it must not. Then you can read, that a crash will come for sure, it's only a question of time when. The experts say, people could do wrong things in virtualizing FreeNAS, so give up this way.
E.g. they could use Non-ECC RAM. I understand, why it's a bad idea not to use ECC and that even pool backups are not the solution to be protected agains data lost when using Non-ECC. That's clear. And I personal don't see the problem, not to use ECC, so that is no question for me, assuming money is not a showstopper. When they say "don't do it", they probably could think I could do something wrong. ECC is one example. Then I could use non server hardware, even it is e.g. labeled with vt-d. I also understand when the hardware is labeled with vt-d on top, vt-d must not be well implemented inside, see consumer market. So the potential FreeNAS virtualization user could get into trouble with his pci-passthrough setup, or the user could buy server hardware and make mistakes setting up the software. He could for example configure virtual harddisks, what is a no go. Maybe FreeNAS gets wrong smart-data and doesn't see the disk is beginning to die, and so on. These variables of doing wrong things maybe one reason for not giving the advice to virtualize it. I could understand this, when you would communicate this to uninformed users. Better get your hands off, you could make mistakes. But are there other important reasons I don't see at the momment?
We have many variables in the hole game. Let's suppose, we have good hardware for the job and we make no design mistakes when setting up the virtual enviromnent (HBA passthrough, no virtual disks, server board, ECC, FreeNAS could access smart data, etc.). What else can lead to a complete crash of the pool data, so that the pool isn't accessible anymore, when using a virtualized FreeNAS? Basically this is exactly what is always prayed and said here.
Let me quote some guys of the forum.
gpsguy:
Even I don't want to take a risk virtualizing FreeNAS in production.
...
Even with the stickies, etc. we often see users virtualize incorrectly. If they are luckly, all they have to do is find a place to backup their data, blow away the pool and start over. Other times, the data is gone forever, often times without any backups.
cyberjock:
Then let me give you some advice. Give up on trying to virtualize FreeNAS RIGHT NOW!
HoneyBadger:
Careful, it's addictive. One day you're just running on a little old HP with 8GB and a pair of mirrors, then the next thing you know there's a rackmount SuperMicro in your basement with enterprise Sun flash cards for SLOG ;) I'm glad we could steer you away from FreeNAS-on-ESXi and towards bare metal
I could quote some others. But you know what I mean. I think these guys know what they are talking about. But I didn't find the answer, why they always say, don't do it. Is the only reason for that what I tried to describe above in my own words?
My last point is, what happens, when a native installed FreeNAS crashes compared to a virtualized FreeNAS crash?
Does a FreeNAS crash generally lead to data loss or pool loss? I don't think so, beacuse you can protect against some cases. Maybe I'm wrong. On a native setup: The motherboard could fail, powerloss, HBA failure, HDD failure, ECC-RAM failure,... So there are some points that can make FreeNAS crash, even if it's native. You can proteted agains some situations: Redundant data, UPS, ECC, maybe redundant power supply, redundant ZIL log devices in Raid1. But there is always room for a complete system failure, even when FreeNAS is native installed. FreeNAS itself is praised to be rock soild. But maybe ugly bugs are still there, who knows. The same for ZFS. I think some hypervisors are also rock solid. Big systems are running on top of them. A virtualized FreeNAS has this as an additional layer between itself and the hardware. Now, when I trust the FreeNAS and ZFS code, why shouldn't I trust my hypervisor code? The advice not to do it only because of the existence of this additional software layer? Or is there some more reason not to do it? Using a hypervisor leads to a higher probalility for system failure compared to not using it. But this higher probalility is relative, because there is always a probalility for system failure, even when using a native FreeNAS setup.
Now, what you think, do I bake my favorite own world or is there a bit truth in it? I read that so many users here have lost their data because of virtualization. Are there reproducable steps why it comes to data loss?
I want some more information about data corruption in a virtualized FreeNAS enviromnent. Don't do it is not enough, not to do it. I'm not resistent to your advices, I want to learn s.th. about it.
Maybe you could help make me find my answers.
Kai