Best Filesystem For External Back-Up Drives?
rufey writes "I've recently embarked on a project to rip my DVD and CD collection to a pair of external USB drives. One drive will be used on a daily basis to access the rips of music and DVDs, as well as store backups of all of my other data. The second drive will be a copy of the first drive, to be synced up on a monthly basis and kept at a different location. The USB drives that I purchased for this are 1 TB in size and came pre-formatted with FAT32. While I can access this filesystem from all of my Windows and Linux machines, there are some limitations." Read on for the rest, and offer your advice on the best filesystem for this application.
"Namely, the file size on a FAT32 filesystem is limited to 4GB (4GB less 1 byte to be technical). I have some files that are well over that size that I want to store, mostly raw DVD video. I'll primarily be using these drives on a Linux-based system, and initially, with a Western Digital Live TV media player. I can access a EXT3 filesystem from both of these, and I'm thinking about reformatting to EXT3. But on Windows, it requires a 3rd party driver to access the EXT3 filesystem. NTFS is an option, but the Linux kernel NTFS drivers (according to the kernel build documentation) only have limited NTFS write support, only being safe to overwrite existing files without changing the file size). The Linux-NTFS project may be able to mitigate my NTFS concerns for Linux, but I haven't had enough experience with it to feel comfortable. At some point I'd like whatever filesystem I use to be accessible to Apple's OS X. With those constraints in mind, which filesystem would be the best to use? I realize that there will always be some compatibility problems with whatever I end up with. But I'd like to minimize these issues by using a filesystem that has the best multi-OS support for both reading and writing, while at the same time supporting large files."
is to stop being so diverse! Pick a platform and stick with it!
Ok, in all seriousness.. here's what you do:
- buy yourself a cheap (~200) box
- hook all your drives to it
- use whatever file system you want (JFS, XFS would be my recommendation)
- share it over your zoo of a network using nfs, samba, etc..
As a bonus, your file server box could double as a media center, and replace your WD TV Live dealie.. (probably not though.. right)
Irregardless, I think you're way better off with this approach vice trying to find the magical widely supported cross platform file system with large file capacity.
You also might want to consider RAID vs. your monthly sync. Yes, RAID isn't a backup.. but for something like this where
restoration would be possible, but just a pain in the ass.. mirrored raid can be a lot more convenient. You can always have
a third external to back up your irreplacable data on a semi-annual basis..
Have you been living under a rock? NTFS has been writable on Linux for a long time now, using NTFS-3g - most distros come pre-bundled with it nowadays, and there's a Mac version as well.
I wouldn't limit myself to a certain filesystem, I'd run a dedicated NAS like FreeNAS and share it over the network via SMB (windows), AFP (apple) and whatever for Linux - all set. Plus as mentioned above, you can run Firefly media server, a bittorrent server, a DAAP server (itunes sharing), etc (all included in FreeNAS. http://freenas.org/) on the same box. And since filesystems don't matter in this config, you can use ZFS to make a RAIDZ pool of your drives. It's what I do now.
fak3r.com
Not if you use a network filesystem, such as Samba and NFS for the Windows and MacOS machines. Then on the Linux fileserver side, use whatever filesystem you want, and any OS can talk to that server.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
If proprietary filesystems are on the table, how about VxFS ?
Another possibility is to use FAT with cross-platform backup software. Maybe you don't need a filesystem at all: if this really is for backups... why not just create lots of extended partitions on the device and use TAR ?
AKA tar cf /dev/sdbXX -V 'VOLUME_A' /backup
That's crude and hard to keep organized, but also effective. Also, Some proprietary backup products that will work on a FAT filesystem, and not require large file support, even to backup large files
Or utilize a tool such as WINRAR that allows you to "split" a RAR file across multiple archives in chunks of a certain size, then store these files on a FAT filesystem.
FAT is the most cross-platform, oldest. But has known issues with fragmentation, and lack of journaling, effects reliability.
You could divide your backup volume into 2 partitions: one DOS/FAT partition with the bootable image and files required to 'load a virtual machine' that can see the files on the other partition in the preferred data format such as ZFS or FFS (e.g. pre-allocated eager zeroed thick VMware VMDK with 'split into 2gb files' enabled).
Then you just make sure the system you plug the drive into can boot a VM, with your "backup/file access environment"
As an alternative to an external disk that goes to multiple machines, this might cost some, but perhaps consider a backup server?
The advantages to this setup:
1: The server initiates the backups, and can warn you in case something can't be read.
2: Most backup software stores snapshots, and some deal with the full/incremental/different cycle by using synthetic full backups. This makes restores to a certain point in time pretty easy.
3: More sophisticated backup software allows you to transfer backup sets to another media. This way, you just plug in a drive, do a transfer, and you have an offsite archive.
4: If one of the backup client machines gets hacked or malware installed, existing data stored on backup media cannot be altered.
The disadvantages:
1: You will need an active computer which is significantly more expensive than a hard disk.
2: Amanda/Zmanda for open source, Retrospect, Backup Exec, for commercial. The software costs a hefty chunk of change.
3: You have to make extremely sure that the backup server box is locked down tight. If someone compromises your backup server, they got data of every box you have. If you can, perhaps consider buying a router to put the backup server behind and only allowing the vital ports incoming.
4: Backup servers should have some redundancy for stored data. Because there is so much data stored from multiple boxes, a failure of a drive hurts more than on a normal machine.
5: Restoring a machine may vary in difficulty.
Replace the silly little WD TV Live media player with a mITX system that's about the same size. Install Linux and XBMC and be done with it. You'll have the best possible media player on the planet, as much storage space in any configuration you want and the ability to expand everything when the time comes. No hassle, you'll have constant online backups available and you'll have a killer always-on media center.
I have been through exactly the same thing, and NTFS is the way to go. My main machine is a Mac, but I format all my USB drives as NFTS (through NTFS-3G FUSE). Though this is slower than formating as FAT or HFS+, it is so much more portable, it wins out. Windows machines can read them. My WD TV box can read them. My Mac can read them. They can store more than 4G per file (indeed, I have all my DVD isos on them). Ok, they can't be read on other macs without installing NTFS-3G, but I've yet to need that. For me, I've never had any problem with NTFS-3G , it's extremely reliable.
As much as I love ZFS, one thing it's not good at is for a single removable disk. The inability for Apple to get this working without kernel panicking the machine was one of the many reasons they chose to drop it.
Specialist Mac support for creative pros, Melbourne
I format my external USB drives to ext3. Most of my machines are Linux anyway, and I can always plug the USB drive into my storage server and backup over Samba to any kind of drive supported by the storage server.
ext3 is pretty much stable and well understood. It just works. That's what I want for backup drives.
And my netbook has Ubuntu Linux on it, and ext3 performs well on the external USB drive there. I haven't tested NTFS over FUSE on the netbook, but I wonder about CPU overhead on the little Atom chip: it might be a little bit slow.
If you want a drive you can take over to your friend's house, and your friend just runs Windows or a Mac, then by all means NTFS.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
I haven't tried it but it looks like a good idea. http://www.cyberguys.com/product-details/?productid=36218&sk=MC71419
Format it ext3 and then share it SMB for any OS.
You are lucky, Ed Gruberman. Few novices experience so much of Ti Kwan Leep so soon.
I see quite many people here recommending ext3. Oh my. ext3 sucks for large files,
which is exactly what the submitter wants to use his setup for. Look into the crazy structures
("double indirect blocks") it uses. He should go with an FS that has sane data structures with
files >>4GB.
That kills most of the choices and leaves XFS, ext4, ZFS (only worth it if not used via FUSE,
i.e. in Solaris), and a couple more obscure ones.
I second the "forget OS portability, use a server" suggestion. There's great low-power, low-cost
hardware for this nowadays.
I would recommend NTFS. I would also recommend that you get an open source program and compress the dvd's to approx. 700MB for up to 90 minutes and 1.4GB over 90 mins. H264/ac3 or Xvid are good codecs to use. Batch schedule the movies and let the system compress all night when you don't need the system. The reason for this is because dvd's take up a lot of wasted space because of the format. A compressed movie takes up far less space. I can store about 1000 movies on a 1TB drive and if a dvd is ever needed, I can recode a dvd. There is not much quality difference between a compressed movie and a dvd file. You can also convert the dvd's to .mov files but apple can read most H264 files or mp4 files. Many dvd players can read Xvid or Dvix files and others without the need for a dvd file.
For cd's, If you plan to burn several copies, then rip the cd's directly to .wav or .flac (lossless) files. mp3 files are like .jpg image files such that they lose a little quality/data each
time they are copied whereas lossless .wav or .flac files DO NOT regardless of how many times they are copied.
Did you "zpool export tank" before you moved the drives over? If not, then the FreeBSD box saw the drives but said to itself "Those drive don't belong to me!" I've done a migration from FreeBSD to Solaris, but always with full drive devices ie /dev/ad0 - thus ignoring partitions tables and other such cruddyness.
Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.
But which is best platform to run, FreeBSD or OpenSolaris? It's difficult to find a good SAS/SATA controller that is well-supported by OpenSolaris. I have found a few cheap LSI MegaRAID conrtollers in China.
XFS was designed with media streaming in mind -- and designed for large file, high performance. It had a defragmenter to keep disks in optimal condition before Windows98 had come out (was one at the request of a large, customer who had an especially pathological case -- before that there was normally not considered a need for it).
Files can be 'normal', have up to and addition 256K of resource-fork related into (extended attribute info), AND you can have a real-time section that can allow for completely bypassing the file system. It was sufficiently fast for video even back when disks were 1/10th the speed they are now.
On it's native OS, it could handle multiple streamed data to the same disk and keep it separate by allocating the separate channels out of disparate allocation groups on disk. I don't know how that works on linux. Unfornately, on linux even under x64, file block sizes AFAIK, are still limited to 4K. XFS has a 64K limit, but under linux is hamstrung to 4k. Of course Windows NT allows 64K block sizes. But not linux...hmmm....very weird. XFS minimizes impact of linux's tiny allocation block size by using a extents which can be at least 256k -- but believe the actual limit is in megabytes. Been a while since I read that stuff...
Of course -- not to be linux centric, but have heard ZFS is pretty good, but no idea of how it compares for anything.
my 2 cents...
Bzzt... NTFS can't handle filenames that ext3, XFS and other Linux-based filesystems can handle. I went through this dance with my Drobo (incidentally, do not EVER buy a Drobo, not if you care about your data; it's dangerous to store data on that device)
ext3 and the Windows-side e2fs-explorer style packages are fine, or use Samba/CIFS and serve it up that way. I use rsnapshot on Linux to back up my Linux and Windows machines to my NAS, which is ext3-formatted.
NTFS is fine, if you're only ever backing up or storing data that can be created on Windows machines, but not if you want to store data from other machines (i.e. back up a Linux machine for example).
I know this comment will get lost in the sea of other comments, but my recommendation to you would be a hybrid solution.
Create a small partition (1GB would be overkill) and format it FAT32.
Create another partition for the rest of the drive (or however you please) with your choice of FS (I prefer XFS, personally).
Store the drivers(/utilties) for the FS you chose and store them on the FAT32 drive.
Some popular drivers/utilties for Windows are:
ext2fsd for EXT2 - http://sourceforge.net/projects/ext2fsd/
rfstool for ReiserFS - http://freshmeat.net/projects/rfstool/
ltools for EXT2/EXT2/ReiserFS - http://www2.hs-esslingen.de/~zimmerma/software/ltools.html/
and so on and so forth (a simple google for "[FS] Windows Compatibility" usually works.)
Just my thoughts. :-)
Great feature would be data chacksums - for media collection on drive, I would like to get warning if there is any data loss. btrfs has this feature (between many others), when it is a bit more stable, than I will use it in similar scanario.
I ended up doing as most in this thread did. Networking.
I bought a BubbaII from http://www.excito.com/ its a small fan less linux box with 2x usb, 2x ethernet, and 2x extSata.
NB: NICs are gigEthernet, but they perform substantially slower than one expects. This according to the manufacturer, is by design to keen the temperature at a resonable level to accommodate the fan less design.
When in danger, whewn in doubt! Run in circles, scream and shout!
I've been using this for years, but I do get solid lockups with very large files (over 4GB) which has made me very nervous.. Any idea where I screw up?
Desktop and laptop are still WinXP (home) until I make up my mind what I'll replace it with (it's narrowed down to OpenSuSE or Mandriva), but for some use a Windows desktop is still more suitable (I'd love Paint.NET to run on Linux, for instance).
Insert
I'd choose the file system based on the system I plan to Host it on. If the host is Windows, I'd go with NTFS. If the Host is Linux, I'd go with EXT2. Regardless of the hosting system and the drive format, you want to make sure you can access the shared contents of the drive from your other systems on your home network. Using this approach, you won't need to worry about third-party drivers.