From: Dmitry S. <mi...@ca...> - 2003-02-22 10:57:03
|
Hello! Is there any means to change something in the backing file when several COW files do exist? The idea is to update core system files in the backing file so users of all UMLs (which use COW files) will see the changes unless they already have their own copies of the same files. Thank you in advance. |
From: Matthew R. S. <use...@go...> - 2003-02-24 18:07:18
|
On Sat 2003-02-22 04:55, Dmitry Sivachenko wrote: > Is there any means to change something in the backing file when several > COW files do exist? If you change a COW's backing file at all, the COW file itself will become invalidated and useless (unless the original backing file is restored of course!). Remember that COW files work on the block device level; they do not know anything about the underlying filesystem and indeed do not even have to have a conventional filesystem installed. Therefore COW files do not actually store information about "this file in this particular location has changed from its original value" but rather "this particular block on the block device has changed from its original value". > The idea is to update core system files in the backing file so users of > all UMLs > (which use COW files) will see the changes unless they already have their > own copies of the same files. One way to accomplish this is to mount more than one filesystem in the UML, each with its own policy. Simple example: have a root filesystem that is used for the backing file. Each UML will create a COW file for this as usual and see it as ubd0. The policy that users will understand however is that when a system upgrade occurs, any changes they made to their root filesystem will be destroyed. Then, create an individual filesystem for each user that is connected to the UML as ubd1 and subsequently mounted at /home. The policy that users will understand for /home is that no matter what happens to the rest of the filesystem due to an upgrade, their /home directory is still intact. You can use the same concept with other directories such as /usr/local or /var/local as well. Hope this helps! -- Matthew R. Scott OMAjA Information Systems http://www.omaja.com/ |
From: Dmitry S. <mi...@ca...> - 2003-02-24 18:20:46
|
Hi! Thank you very much for your reply! One more related question: is it possible to use *filesystem* (rather than *file*) as COW's backing store? Thanks! On Mon, Feb 24, 2003 at 12:01:41PM -0600, Matthew R. Scott wrote: > On Sat 2003-02-22 04:55, Dmitry Sivachenko wrote: > > Is there any means to change something in the backing file when several > > COW files do exist? > > If you change a COW's backing file at all, the COW file itself will become > invalidated and useless (unless the original backing file is restored of > course!). > > Remember that COW files work on the block device level; they do not know > anything about the underlying filesystem and indeed do not even have to > have a conventional filesystem installed. Therefore COW files do not > actually store information about "this file in this particular location has > changed from its original value" but rather "this particular block on the > block device has changed from its original value". > > > > The idea is to update core system files in the backing file so users of > > all UMLs > > (which use COW files) will see the changes unless they already have their > > own copies of the same files. > > One way to accomplish this is to mount more than one filesystem in the UML, > each with its own policy. > > Simple example: have a root filesystem that is used for the backing file. > Each UML will create a COW file for this as usual and see it as ubd0. The > policy that users will understand however is that when a system upgrade > occurs, any changes they made to their root filesystem will be destroyed. > > Then, create an individual filesystem for each user that is connected to > the UML as ubd1 and subsequently mounted at /home. The policy that users > will understand for /home is that no matter what happens to the rest of the > filesystem due to an upgrade, their /home directory is still intact. > > You can use the same concept with other directories such as /usr/local or > /var/local as well. > > > Hope this helps! > > -- > Matthew R. Scott > OMAjA Information Systems > http://www.omaja.com/ > > > > |
From: Mark R. <mar...@da...> - 2003-02-24 18:39:01
|
On the same theme of this thread, is it possible to change the filename to which a COW file looks for its backing file, assuming the backing file itself does not change? Example: File /home/joeblow/cow01 has backing file of /home/joeblow/rootfs01. Joe decides to organize his files better. He wants to create a directory called cowfiles and a directory called rootfilesystems. Therefore, the file /home/joeblow/cowfiles/cow01 should have the backing file /home/joeblow/rootfilesystems/rootfs01. How easily can this be done? -- Mark Ryan Institute for Security Technology Studies Dartmouth College Key fingerprint = DDEB 70ED 289A A94B E918 4D61 D0D4 F89A B642 8960 |