Solved [SOLVED] Request Specific Help Moving from Linux to FreeBSD

Good Morning All,

The OS I am asking for assistance on is FreeBSD 10.0 x64.

I am a very experienced Linux admin. Been using it since 2004 (Arch Linux). Although I admin a variety of Linux distro's and servers. My issue with Linux is that updates tend to break the systems way to often. This is costing me time (lost revenue) to constantly repair a Linux install because of flakey upgrades. And my main frustration is CentOS which is on the lion's share of my Servers. I did replace a customer's NAS with a FreeBSD based NAS and have had no issues with it across two upgrades. It's sole purpose is SMB shares.

I need something more robust than Linux for my clients....including my new client....I have come to the resolve that the solution is FreeBSD. Why FreeBSD? Because I've done my homework by speaking with others who use FreeBSD, discuss their experiences with FreeBSD, and have done enough reading on the FreeBSD site to make me need new glasses! The last person I spoke with was yesterday face to face at a cafe.

I have a project where I am replacing a small Colorado cities entire infrastructure to FreeBSD. I have dabbled off and on with FreeBSD, and have done a lot of reading...and have a testing install to a laptop for use for "experimentation" so I don't break a production laptop. I installed FreeBSD 10.0 x64.

I have resolved all issues save two. One is audio (posted in a different forum) and the other one: Reliably reading an ext4 partition.

My city project consists of providing infrastructure to a small city that currently has none. One of the cities trustees has Linux on their laptop on an ext4 partition, others have NTFS. I see the ntfs fuse driver....so NTFS is not a worry of mine. EXT4 is.

For starters.....I have to start with my own workstation. I need to convert my worksation 1st, and use it as my primary OS to gain more experience in FreeBSD, so that I can better serve my customers when the entire project goes live.

I have 4 drives in my main workstation. I have a lot of backups for my clients that I maintain over the years. These backup drives (soft-mirrors) are ext4.

From reading the documentation and going through the ports tree.......I don't see a ext4 solution mature enough to trust customer's data to pass through. Reading about this driver tells me amore about what it can't do than it can...Thus I don't want to use it as I am copying valuable data not easily recovered.

Here is my precicament:

I have 4 HDD's in my main workstation in my office. If I replace my current Arch Linux install on my first physical drive.....I need to be able to mount the other 3 ext4 partitions, backup data from one of the backup drives, convert the now freed HDD to ZFS/UFS, then copying the backup back to the new UFS/ZFS slice. I have two backups that are mirrors of each other so I know this can be done in theory. Then on to the next drive and repeat the procedure, etc. I have a total of 4 HDD's online that I will need to do this conversion for each of them.

I would prefer to do this through my new installation of FreeBSD in some native, realiable manner.....I also have a backup plan: Boot to a Live Linux DVD, mount the target UFS slice, mount the source ext4 partition, then use the live Linux environment to move data from one partition to the other.....This to me seems overtly cumbersome, which then opens the question of the realiability of the Linux UFS FS driver.

This is a show-stopper for me...I can't orphan my customer's data...Yet I want to move to FreeBSD.

Can someone out there give me some guidance in this matter of moving ext4 data into UFS/ZFS?

Thank You!

Sincerely and respectfully,


Dave
 
Re: Requesting Specific Help Moving from Linux to FreeBSD

Fire up a virtual machine, install Linux, mount the ext4 filesystems, and use NFS or Samba to export the filesystems over the network, and then copy the data into UFS/ZFS. No need to read the ext4 filesystems directly. :)
 
Re: Requesting Specific Help Moving from Linux to FreeBSD

I would use tar + nc, rsync or scp directly from Linux to FreeBSD.
 
Re: Requesting Specific Help Moving from Linux to FreeBSD

It depends, mainly on amount of data you want to preserve and filesystem which is desired for the resulting array. I will assume four (almost) identical disks and several hundreds of gigabytes you want to transfer. In such scenario I would go with the RAIDZ-2, one extra parity data can't do any harm (in fact I am creating all my working arrays with double parity, because with disks sizes over 1 TB and given MTBF you have 12 % probability that another drive in array will fail before reconstruction of first failed disk finish).

So go to the town and buy yourself some coffee, there is long night ahead. I would also buy one drive approximately two times bigger than is amount of the data to be transfered. After enough caffeine intoxication I would

  • Either put new disk to machine, create ext2 FS and copy data there twice or connect it to some other machine, boot freebsd, make there ZFS filesystem with copies=2 and copy the data over network. Easiest possibility is to attach it to given machine, boot FreeBSD from live media, create ZFS filesystem as stated above and copy. Ext4 is backward compatible with ext3 (given extents are not in use) and ext3 is generally ext2 with journal. I did many strange things with the ext2 filesystems under the FreeBSD and never was embarrassed. You can checksum the files before and after transfer to be sure. Finally, put this disk to some safe place.
  • Remove two disks from machine, check several times that those disk removed are definitely those which you wanted to remove. Put those disks to some safe place, different from the first safe place used before in best case.
  • Check again you are left with two disk you want to wipe.
  • Create nasty hack - boot from the live FreeBSD media, create RAIDZ-2 volume from those two disks and two memory disks. Offline the two memory disks used and destroy them, you should end with the degraded volume, which is still working, install FreeBSD there and try to reboot it.
  • If everything looks OK, shut down the machine, attach two disk removed before, boot, mount them and copy data.
  • Remove partitioning from those two disks and attach them to degraded array.
  • Et voilá, you have data transfered to the new FreeBSD install on RAIDZ-2.

If something goes south, you still have two copies on disk you bought afternoon before. Whole operation may looks little "overbackuped", but I didn't lost one byte of data in almost twenty years and I don't want to change it :)
 
Re: Requesting Specific Help Moving from Linux to FreeBSD

Thank you all for the replies.

It seems that FreeBSD just isn't going to play nice with the ext4 drives. I understand the issues with the GPL when regarding FreeBSD's license. I think this lack of inter-operability is likely due to the nature of the two licenses......I understand.

Here is what I am going to do:

I need to move 5 Tb of data spanning 3 drives. 2TB +2TB + 1TB respectvely. The 2TB mirrors are pretty much full.

The cleanest way I can imagine to get the data from point "A" to point "B" is to ressurect an older system I have, put a fresh HDD in it of sufficient size, install a FreeBSD NAS, and instantiate a NFS mount point on it. Then in my native Linux, mount the NFS, copy the data to the NFS mount point. I have a 1gb internal network....so I can then let rsync do it's job while I sleep.

Once all data is on this NFS mount point is on this temporary NAS.....then install I'll install FreeBSD, on my workstation, convert all the drives to UFS/ZFS (yet to be decided).....establish an NFS mount point again, and then copy everything from the NFS mount on the temporary system, to the real HDD.

I don't consider this the optimum, but I do consider it the safest.


So...I will go the external system NFS mount route....

Thank you all for responding...


Sincerely and respectfully,

Dave
 
Re: [SOLVED] Request Specific Help Moving from Linux to Free

You know the more I think about it.......I like the Linux VM with NFS mount points where it is just a passthrough.....

Instead of the separate machine......I think the VM method is likely which way I am going to go. There is no hardware involved......And I can let rsync so it's thing while I sleep.


Sincerely,

Dave
 
Back
Top