Yeah, consider our lesson 'the hard way'.
After that, we implemented a very paranoid backup strategy, with seven days of backups stored off-site, etc.
We didn't have the option of something cool like RAID6, sadly. So it goes.
I was thinking at the time that it was crazy to rely upon RAID entirely, but I was new, and didn't feel comfortable voicing my opinions. I'm more vocal now.
IG, maybe dividing the system into data partition could also do some good and reduce the amount of data needed to be backed up?
Fleeb, fancy that your windows done wrong event doesn't seem to have the same conclusions as linux done wrong...
Yeah.
When pressed, the real reason we do not do linux is that he is not familiiar with the operating system. And he is not interested in learning it.
Note that Android really turned him around about linux.
did you use that situation to tell him that linux doesn't try to solve your problems on its own and doesn't do that fataly wrong therefore?
having done an exchange recovery a while ago... they tell you the point & click lie, which lasts as long until you run into real trouble. suddenly "cryptic commandline tools" show up promising to solve your problems after lots of documentation reading.
We have two fundamental problems with Linux for production use in our systems.
My boss is very, very comfortable with the Windows operating system, for all its faults, and simply does not want to invest the time to learn another operating system, end of discussion, yadda yadda. This is, frankly, the second largest impediment to using Linux.
With that kind of mindset, *I* don't want us to move to Linux. Because if we did, I will be the only person doing technical support for all of our boxes, installations, etc, and I want to be able to take vacations, and sleep at night (our customers call 24/7 if there are problems), and actually work on real code instead of constantly handling support. We aren't going to hire another person (at a loss) just to do technical support because we wanted to change operating systems.
He's well aware by now that Linux is a viable operating system, one that is essentially free to use, and one that doesn't fuck up any more than any other operating system if you use it correctly. But he just doesn't want to get comfortable with it. He has had many opportunities, but just won't do it. He's happy enough with Android, but I don't think Android is the right operating system for what we do. It's perfect for hand-held machines but not server/workstation systems. This sorta cracks me up in some ways, as he will complain bitterly about having to pay for Windows, but he won't do anything to get away from it.
The other problem involves licenses. If we moved to Linux, we would almost certainly have to open source everything because of the viral nature of GNU licensing, and he is completely unwilling to do that at this point. He doesn't want to risk some other company stealing our work, and using it to enhance their own products. There's very nearly a 100% chance that would happen to us (e.g. a certain company that has created an automation system that claims to do what we can do would love to steal our code and actually make it happen instead of just advertise it falsely). We'd effectively find ourselves killed as a company, at least at this point in time.
I keep saying 'at least at this point in time' because we know we need to change. Our core business right now isn't really moving us forward, so we have to adjust. We have plans towards change, but as ever, hush-hush. Furthermore, unfortunately, much of our core code relies on APIs within the Windows operating system. I'm slowly working to change that, but I can only do so much at a time. And, unfortunately, because Linux doesn't have a more componentialized approach to working with media as far as I can tell, some of what we're trying to do can't be properly done in the Linux operating system. I hate Microsoft, but they did a very impressive thing with that DirectMedia environment. Closest thing to that in the Linux world is VideoLAN's efforts, but they're way behind right now, and nowhere near as flexible as the DirectMedia environment.
There is ABSOLUTELY NO REASON you would have to open source your code just because you're running it on Linux. The GNU GPL is only "viral" if you combine your code with their code. Microsoft spent a considerable amount of time pushing the myth that "GPL will eat all your stuff!!!1" but that myth was dismissed quite some time ago.
You have my utter and complete sympathy about the support issue, though.
You don't want to be stuck holding the bag that way with *any* technology.
I absolutely agree on the raid arguments (for backups), but I have to say that I love Raid6. The issue that IG had is a common scenario, most of the time you bought 3-4 harddrives from the same production line on the same date, so if one of them fails for any reason, chances are high that a second one will fail too. Due to wear out, technical failure, old age, whatever. On a Raid5 your lost then. And I have seen a hotspare in a NAS being in the same used state (SMART-wise) as the 3 actual raid disks.
I also had a raid which silently died, ripping the fs slowly appart without any notice and completely imploded when fsck came to the rescue....
well, maybe if you need to do in kernel code; which usually shouldn't be neccesary.
Anyway, I'm noting that the overall performance of the system is quite good; I don't notice a lag in the interactive portions of the system even when a full backup is running.
@IG: What do you have your backup intervals set up to?
My normal server backups hit every night at midnight, but i use the "freeze and snapshot" method for backups.
--
Stephen D King
skpacman8629@gmail.com
I just finished validating a backup by spinning up a new VM using the replicated image. As expected, I got a "your system was not shut down cleanly" message, but it handled that just fine; the restored image was time-consistent and all of my services started up with no problem.
LS: to clarify a bit -- what I'm doing here is an LVM snapshot of a filesystem containing qcow2 images, not a qcow2 image with a snapshot inside it. If it were the latter then I would definitely expect consistency problems.
I might have taken the same script you're running now, just run it in the guest instead of the host. (Assuming the guest's virtual hard disk is formatted with LVM.)
And just to clarify... there's nothing definitely, obviously wrong with what you're doing, it just makes me a little nervous. I think doing it in the guest means that the guest has more control over exactly when the snapshot happens, so it doesn't happen for example in the middle of some fsync() system call that some process is performing. You get something that's maybe a little bit better than mere crash-consistency. you can also use an fs freeze/thaw.
Sep 1 2011 12:07pm from IGnatius T Foobar @uncnsrd
Whoa ... hold the show a minute here.
There is ABSOLUTELY NO REASON you would have to open source your code
just because you're running it on Linux. The GNU GPL is only "viral"
if you combine your code with their code. Microsoft spent a
considerable amount of time pushing the myth that "GPL will eat all
your stuff!!!1" but that myth was dismissed quite some time ago.
Note that I wrote 'almost certainly'. I haven't deeply researched the matter, because of the other issue.
I suspect that I would need to compile against other code that is certainly GPLed in some fashion. And I don't just mean libraries underlying the operating system or anything like that.
I'll just have to hope that, someday, I'll have the chance to work with Linux in some more friendly environment than this one.
But, I suspect that will be challanging... the majority of my working experience has involved Windows OS. I don't know how many firms would take interest in hiring someone with little to no experience in Linux for system level programming.
Thu Sep 01 2011 17:06:17 EDT from fleeb @ UncensoredI suspect that I would need to compile against other code that is certainly GPLed in some fashion. And I don't just mean libraries underlying the operating system or anything like that.
I'll just have to hope that, someday, I'll have the chance to work with Linux in some more friendly environment than this one.
But, I suspect that will be challanging... the majority of my working experience has involved Windows OS. I don't know how many firms would take interest in hiring someone with little to no experience in Linux for system level programming.
many (if not most) libraries are lgpl, which means you mustn't staticaly link them, but everything else is ok.
many are also bsd style licenses.
QT for example is dual licensed: GPL & QPL & proprietary (maybe they dropped the QPL meanwhile) which means, if you want to write closed source software this is possible; you simply need to buy a license from them. You can however develop your tool with the gpl version, as long as you don't distribute it, you simply have to provide yourself with the source.
the only constraint in that case would be, that your programm would have to quote the user the lgpl'ed code that was used on startup. For example my garmin gps enlists libexpat on bootup.
On linux you've got the powers of valgrind. You should try compiling it using winelib; use a VM or AndLinux for that.
*hint* you may work on citadel to collect some linux experience ;-)
A lot of closed source, even on the kernel level comes to mind:
Nvidia Display drivers (and tools) (which taints the kernel license when installed)
VIA S3 Display driver (and tools) (aka the reinvention of crappyness, but hell, it exists)
Bitdefender/F-Prot antivir clients
Virtualbox until recently, right now only the USB2.0 and some other oracle tagged stuff
VMWare
Intel's Tivoli Storage management
Skype
Even some crippled groupwares, with their sorry excuse of a community version, as a tribute to the GPL'ed stuff they are using.
Some games
Some Javaapps are tagged as unfree (codewise) and run under Linux.
So there is lots of weirdness out there and not everything has to be free on a linux. Heck, lots of settopboxes and other embedded devices run a linux kernel and some propriety environment, remember the AVM Fritzbox GPL lawsuit recently posted here.
Also, AGPL is out there.
My retirement goals have always included working on an open source project.
And I have wanted to work on a BBS since 1989 or so. BBSes are currently obsolete as the modem-handling, phone-line using software of old, but exist today as web boards, etc.
I'm not sure if IG would want me invading Citadel with my C++-ish ways, but I probably could help interface with certain libraries.
I never thought of it before, but it sounds like the free software people are shooting themselves in the foot by having so many different incompatible licenses. Actually I don't know if they're incompatible or not, but I'm certainly not going to pay a lawyer to find out.
Now that's just a cost-of-business kinda thing. I fully support anybody who wants to write any software and put as many or as few licenses on it having to do with statically building or non distribution or sale, etc... But you gotta figure, the end user (a software development company) is going to take a short soft look at "buy a windows license or figure out what we can and can't easily use in the free software world."
I tell ya, I'm a unix guy through and through, but at this point after hearing about all these different licenses, I'd lean towards going with windows/.