From: Notary S. <und...@ho...> - 2013-04-21 18:24:42
|
Not sure if this can be considered a squashfs issue, but I'm guessing this is the best place to start... I have a large cluster running RHEL5.8 with several GPFS filesystems. Most of the GPFS content is accessed through a virtual directory controlled by autofs. I have a few hundred squashfs filesystems residing in GPFS. These are accessed through autofs. In migrating to RHEL6.3, I discovered that RHEL6.3 only works with squashfs 4.0 filesystems, and RHEL5.8 only works with squashfs 3.0 filesystems. I don't have enough space to keep two copies of all the squashed filesystems, not even temporarily through the transition period. I found that I can export a squashfs 4.0 filesystem from a RHEL6.3 system through NFS to a RHEL5.8 client, but I can't export a squashfs 3.0 filesystem from a RHEL5.8 filesystem. But this at least gives me an option. I can convert these filesystems to squashfs 4.0 by unsquashing them and then resquashing them. Then I can export them through NFS to the RHEL5.8 clients while I'm migrating to RHEL6.3. As servers get migrated, they can then access the filesystems directly. I had a few that had errors in unsquashing but I was able to rsync the content out of them. I also had some that had segmentation errors while resquashing. I wasn't able to do anything with these; I'll probably just have to keep unsquashed versions of them. The NFS server that's serving the newly resquashed content uses autofs to mount the squashed filesystems. The idea is that a RHEL5.8 client will access a squashed filesystem using the autofs automounter. The client never knows it's squashed; it just knows it's on another server. The automounter in the client will then send a mount request to the RHEL6.3 server. The server will then automount the filesystem and then serve the contents to the client. Everything works fine ... except for one hitch. Whenever the client requests any one squashed filesystem from the server, the server automounts every squashed filesystem in its autofs virtual directory. Right now it's not a problem because I haven't resquashed everything. But when I get past the 250 available loop mounts, I think I'll run into trouble. So my specific question is how can I keep autofs in the NFS server from mounting all of its squashed filesystems every time a client requests one of them. My more general question is whether there's a better way to handle this transition from RHEL5.8 to RHEL6.3. Comments, anyone? -- View this message in context: http://filesystems.996266.n3.nabble.com/squashfs-and-autofs-tp7937.html Sent from the squashfs-devel mailing list archive at Nabble.com. |
From: Phillip L. <ph...@lo...> - 2013-04-25 03:50:21
|
On 21/04/13 19:24, Notary Sojac wrote: > Not sure if this can be considered a squashfs issue, but I'm guessing this is > the best place to start... This question is mainly concerned with the behaviour of autofs and NFS, rather than Squashfs. A much better mailing list to post to for these filesystems is lin...@vg.... This is the main linux filesystem mailing list, and all of the relevant developers of autofs and NFS should be subscribed to that list. You can post to it from gmane.org http://news.gmane.org/gmane.linux.file-systems or subscribe to it here: http://vger.kernel.org/vger-lists.html A couple of other points follow > > I have a large cluster running RHEL5.8 with several GPFS filesystems. Most > of the GPFS content is accessed through a virtual directory controlled by > autofs. I have a few hundred squashfs filesystems residing in GPFS. These > are accessed through autofs. In migrating to RHEL6.3, I discovered that > RHEL6.3 only works with squashfs 4.0 filesystems, and RHEL5.8 only works > with squashfs 3.0 filesystems. Moving to a new layout (4.0) and dropping support for previous layouts was part of the conditions for mainlining Squashfs in kernel 2.6.29. > I don't have enough space to keep two copies > of all the squashed filesystems, not even temporarily through the transition > period. > > I found that I can export a squashfs 4.0 filesystem from a RHEL6.3 system > through NFS to a RHEL5.8 client, but I can't export a squashfs 3.0 > filesystem from a RHEL5.8 filesystem. Squashfs NFS export support was added in version 3.2 (January 2007), but the version of squashfs shipped in RHEL 5.8 is too old to have the support. > > But this at least gives me an option. > I can convert these filesystems to squashfs 4.0 by unsquashing them and then > resquashing them. If you compile the 4.x squashfs-tools for RHEL 5.8 then you can avoid unsquashing the filesystems, and just run mksquashfs on the mounted filesystem. > Then I can export them through NFS to the RHEL5.8 clients > while I'm migrating to RHEL6.3. As servers get migrated, they can then > access the filesystems directly. I had a few that had errors in unsquashing > but I was able to rsync the content out of them. I also had some that had > segmentation errors while resquashing. I wasn't able to do anything with > these; I'll probably just have to keep unsquashed versions of them. The version of squashfs-tools shipped in RHEL 6 is also old, being 4.0, the first release of tools for the new layout. This had a couple of bugs which have been fixed in later versions. You should report these bugs to Redhat via their bug tracker (bugzilla.redhat.com). You can download the latest development version of Squashfs-tools, which has numerous bug fixes and performance optimisations. You can get this by cloning the git repository, url git://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git Alternatively, if you're unfamiliar with git, you can get a ZIP archive of the current git repository here: https://github.com/plougher/squashfs-tools/archive/master.zip > > The NFS server that's serving the newly resquashed content uses autofs to > mount the squashed filesystems. The idea is that a RHEL5.8 client will > access a squashed filesystem using the autofs automounter. The client never > knows it's squashed; it just knows it's on another server. The automounter > in the client will then send a mount request to the RHEL6.3 server. The > server will then automount the filesystem and then serve the contents to the > client. Everything works fine ... except for one hitch. Whenever the client > requests any one squashed filesystem from the server, the server automounts > every squashed filesystem in its autofs virtual directory. Right now it's > not a problem because I haven't resquashed everything. But when I get past > the 250 available loop mounts, I think I'll run into trouble. > > So my specific question is how can I keep autofs in the NFS server from > mounting all of its squashed filesystems every time a client requests one of > them. My more general question is whether there's a better way to handle > this transition from RHEL5.8 to RHEL6.3. None that I know of. You have the basic problem that the RHEL 5.8 kernel can't mount Squashfs 4.0 filesystems, so the only way is to do as you suggest, and mount the filesystem on another machine and make it available to the RHEL 5.8 kernel somehow. Phillip > Comments, anyone? > > > > -- > View this message in context: http://filesystems.996266.n3.nabble.com/squashfs-and-autofs-tp7937.html > Sent from the squashfs-devel mailing list archive at Nabble.com. > > ------------------------------------------------------------------------------ > Try New Relic Now& We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app,& servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > _______________________________________________ > Squashfs-devel mailing list > Squ...@li... > https://lists.sourceforge.net/lists/listinfo/squashfs-devel > . > |