Jump to content
  • 0

Basic questions (multiBoot, reImage, ReparsePoints, etc)


B00ze

Question

Good day.

So I've read several pages of the forums, and I still have a few questions about DrivePool. These have probably been answered already but I suck at searching, and I can probably infer some of the answers, but anyway, here goes...

1. System Drive (re)Imaging:

Does DrivePool save any pool state information in AppData? What if I image my system drive, then use the system for a week, changing things in the pool, and then later, restore that image; will the pool, in its later state, survive? For me DrivePool must NOT save any pool state information outside of the pool. I understand it uses ADS to store things, so I guess we're ok, but I want to make sure, as I re-Image my system frequently (say from last week's image, not from a fresh install obviously, as I'd lose everything).

2. MultiBoot:

I plan to boot between W7 and W10 (and even W7/32 and W7/64); I'd like to have the DP pool running on all OS'es, is that possible? From what I've read DrivePool will "discover" the pool if one exists already, but just as with re-Imaging, pool state must not be saved on the system partition or this will not work; so will it be ok?

3. MultiBoot-Licenses:

Do I need a separate License for each O/S?
What if I name my computer the same in each?

4. Reparse Points (hey Drashna):

I saw you say that hardlinks are not supported. But the following post says they are:
http://community.covecube.com/index.php?/topic/279-stablebit-drivepool-reparse-points/

4. Alternate Data Streams:

As I understand it, you use ADS to store stuff around the pool (very clever). I frequently run a tool that deletes all ADS from all files (and folders) - e.g. to get rid of that stupid ZONE attribute. Can I still run this tool on the pool? i.e. will the pool preserve its own ADS and let me delete the other tags? Obviously I must NOT run this on the underlying drives, but via the pool are we good?

5. Modifying the pool offline:

Can I dump a file in a subfolder of the PoolPart folder while the pool is offline (or even while it's online, but via the real drives rather than via the pool) and all will be ok? Obviously duplication will not trigger and it will be detected later if I "measure" the pool, but I can do this, right? I may want to save partition images in a folder inside the pool while I am booted in WinPE; wanna make sure this is fine (no duplication) and that the files WILL show-up later throught the pool once I reboot...
 

Thank you.

Best Regards,

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

  1. UI information is stored in the AppData folder. 

    General program settings are stored in the C:\ProgramData folder, such as balancing settings. 

    And yes, this includes information about the disks. But not specifically the pool state. This is determined at the startup of the system (of the service specifically) each time it starts. 

    However, some settings are stored on the Pool itself (such as duplication settings, as ADS "tags", and Reparse Point info). 

    So re-imaging the system shouldn't be a problem (if the hardware significant changes, it will trigger a "transfer", but everything else is pretty dynamic. 

     

  2. Dual booting is a tricking thing. 

    However, the pool itself has no issues with that. In fact, the pool is designed to "react well" to moving to new hardware, and the same applies here. (as see above). But the Pool status, membership, duplication status and reparse points shouldn't have any issues with dual booting.

     

    The biggest issues is licensing...

     

  3. The "easy" answer here is "yes"

    However, since this is the same hardware, technically, no. you don't need separate licenses.   You should be able to activate the license on the one system, and then boot into the other OS and activate there. It should then work fine on both instances. 

     

     

  4. Specifically, we use Alternative Data Streams for "duplication tags", and these only exist on folders (not files). Also, we use them on the PoolPart folders to identify which pool they're on (if none are found, it's assumed that all the Poolpart folders are part of the same pool, as this was introduces as a way to identify multiple pools).

     

    If the tool is run on the Pool drive, it shouldn't affect the pool ID, but it *may* stripe the duplciation status of the folders. You can then manually set them back and that will "fix" the issue. (heck, actually, you can use the "DPCMD" utility to change the status, so you can script this).  

     

    However, if you let me know what tool you're using specifically, I can test this out specifically. 

     

    (and yes, Alternate Data Streams are pretty awesome, and a great way to store hidden files/settings!)

     

  5. Yes, you can absolutely add files/folders offline.  The Pool driver acts as a kind of file system proxy, queirying the disks underneath for the the contents and information and files. So it will see the files without an issue. 

     

    However, the caveat here is that you will want to remeasure the pool after doing so, to ensure that the software has accurate statistics. This will make sure that it's aware of all the files, duplicates them as needed, and has proper information for balancing. 

Link to comment
Share on other sites

  • 0

Good evening,

> UI information is stored in the AppData folder.

You mean when you "measure" the pool the stats are stored in AppData? Of Each User? That's strange, you'd think this went into ProgramData. You probably mean language selection or some such though? In any case, so long as it's only statistics, we're good...

> General program settings are stored in the C:\ProgramData folder, such as balancing settings.

That's fine.
 
> And yes, this includes information about the disks.
> But not specifically the pool state.

Good. Will DrivePool "discover" the existing pool when I first install it in another O/S?

> Dual booting is a tricking thing. However, the pool itself has no issues with that.
> In fact, the pool is designed to "react well" to moving to new hardware, and the same
> applies here. (as see above). But the Pool status, membership, duplication status
> and reparse points shouldn't have any issues with dual booting.

Good.

> The biggest issues is licensing...

I don't mind buying it twice, just wondering if it will let me activate twice inside 2 different O/S'es without having to use different licenses (I can go by without having the pool on the 32bit O/S, it's used for DOS only). Any plans on making a Linux version?

> If the tool is run on the Pool drive, it shouldn't affect the pool ID, but it *may* stripe
> the duplciation status of the folders. You can then manually set them back and that will
> fix the issue. (heck, actually, you can use the "DPCMD" utility to change the status,
> so you can script this).

That's why I asked; DrivePool must "protect" its streams, and only expose non-DP streams. If it doesn't do that yet, then this is a good ticket to open; private streams should be invisible when stuff is accessed through the pool virtual drive.

> However, if you let me know what tool you're using specifically,
> I can test this out specifically.

I use SysInternals' Streams, ie: STREAMS -s -d D:\
https://technet.microsoft.com/en-us/sysinternals/streams.aspx

> and yes, Alternate Data Streams are pretty awesome, and a great
> way to store hidden files/settings!

Yup, NTFS's Resource Forks; not used much, except for that ridiculous ZONE information that browsers tag to downloaded files.

We forgot the reparse points (my fault, I had two #4s up there) ->
I saw you say that hardlinks are not supported when you answered a question about Codi or Plex or whatever media library tool. But the following post says they are; are they? http://community.covecube.com/index.php?/topic/279-stablebit-drivepool-reparse-points/

Thank you.
Best Regards,
 

Link to comment
Share on other sites

  • 0

Good evening,

 

> UI information is stored in the AppData folder.

 

You mean when you "measure" the pool the stats are stored in AppData? Of Each User? That's strange, you'd think this went into ProgramData. You probably mean language selection or some such though? In any case, so long as it's only statistics, we're good...

 

 

 

Measurement data is part of the program data. By UI data, I mean the UI location, layout, sort order, etc. So UI element settings. 

 

 

> And yes, this includes information about the disks.

> But not specifically the pool state.

 

Good. Will DrivePool "discover" the existing pool when I first install it in another O/S?

 

Yes, it will discover the existing pool. 

 

To clarify, when the StableBit DrivePool Service starts, it checks all of the disks for the PoolPart folders, (and some extra data if it finds them). It will then update the driver information and UI, and "create" a pool if needed. 

 

And this means that if you wiped the system disks, and reinstalled clean, once you install and activate the software, it will recreate the pool on that new system, as well.  (in fact, you could move the drives to a new system, and the software will recognize the pooled disks and create a pool). 

 

 

 

> Dual booting is a tricking thing. However, the pool itself has no issues with that.

> In fact, the pool is designed to "react well" to moving to new hardware, and the same

> applies here. (as see above). But the Pool status, membership, duplication status

> and reparse points shouldn't have any issues with dual booting.

 

Good.

 

> The biggest issues is licensing...

 

I don't mind buying it twice, just wondering if it will let me activate twice inside 2 different O/S'es without having to use different licenses (I can go by without having the pool on the 32bit O/S, it's used for DOS only). Any plans on making a Linux version?

 

We include lienency to prevent issues with reinstallations, as long as it's the same hardware (aside from the system disk), it should just activate. 

 

If it doesn't, then let us know here: https://stablebit.com/Contactand we'll assist you with getting it activated properly.

 

So you really don't need to buy two licenses, unless you really want to.

 

 

And no, we don't have any plans to create a linux version at this time (doing so would not be as simple as porting code over, it would be a MASSIVE project). 

 

 

> If the tool is run on the Pool drive, it shouldn't affect the pool ID, but it *may* stripe

> the duplciation status of the folders. You can then manually set them back and that will

> fix the issue. (heck, actually, you can use the "DPCMD" utility to change the status,

> so you can script this).

 

That's why I asked; DrivePool must "protect" its streams, and only expose non-DP streams. If it doesn't do that yet, then this is a good ticket to open; private streams should be invisible when stuff is accessed through the pool virtual drive.

 

> However, if you let me know what tool you're using specifically,

> I can test this out specifically.

 

I use SysInternals' Streams, ie: STREAMS -s -d D:\

https://technet.microsoft.com/en-us/sysinternals/streams.aspx

 

> and yes, Alternate Data Streams are pretty awesome, and a great

> way to store hidden files/settings!

 

Yup, NTFS's Resource Forks; not used much, except for that ridiculous ZONE information that browsers tag to downloaded files.

 

We forgot the reparse points (my fault, I had two #4s up there) ->

I saw you say that hardlinks are not supported when you answered a question about Codi or Plex or whatever media library tool. But the following post says they are; are they? http://community.covecube.com/index.php?/topic/279-stablebit-drivepool-reparse-points/

 

Well, if you like powershell, you can write a script that ONLY deletes the zone identifier stream. That would be preferable, I  think. 

 

Also, there are a lot of programs that use streams. But since they're "super hidden" by default, it's very hard to tell. :)

 

In fact, here are some good examples:

https://technet.microsoft.com/en-us/library/jj628241.aspx

 

If you want, I can see about writing a quick powershell script  that will parse and delete all of the zone identifier tags, if you like. 

 

 

 

 

We forgot the reparse points (my fault, I had two #4s up there) ->

I saw you say that hardlinks are not supported when you answered a question about Codi or Plex or whatever media library tool. But the following post says they are; are they? http://community.covecube.com/index.php?/topic/279-stablebit-drivepool-reparse-points/

 

hard links are the specific ones that are NOT supported. At the bottom, there is a list:

 

 

  • It supports file / directory symbolic links, directory junction points, mount points, and 3rd party reparse points on the pool.

 

 

The problem with hard links is that these are a filesystem object that link multiple "files" on the same volume.  

 

 

 

A hard link is the file system representation of a file by which more than one path references a single file in the same volume. 

Another way to put it, is that it's a file pointer object that points at a specific set of data, and multiple pointers point to the same data.

This is what happens when "cross linking" occurs, but the difference is intent. 

 

And because of that, hard links are not possible on the pool. At least not without a heck of a lot of hacking. And even then ... 

Link to comment
Share on other sites

  • 0

Good afternoon.

 

> Measurement data is part of the program data. By UI data, I mean the UI
> location, layout, sort order, etc. So UI element settings.

Oh, then we're all good for MultiBoot :-)

> Yes, it will discover the existing pool.

I kinda expected it would, but no harm in asking. Thanks.

> We include lienency to prevent issues with reinstallations, as long as it's the
> same hardware (aside from the system disk), it should just activate.

Nice.

> Well, if you like powershell, you can write a script that ONLY deletes the
> zone identifier stream. That would be preferable, I  think. Also, there are a
> lot of programs that use streams. But since they're "super hidden" by default,
> it's very hard to tell. :)

Probably some other programs use them, but that little Streams tool can also simply LIST the streams, and I have yet to find a stream other than that Zone Identifier in my data. There *are* some streams on the system disk, but nothing anywhere else. Strangely, in prep to this reply I scanned my data and found not a single Zone Identifier. I wonder what I did to disable zone creation.

> In fact, here are some good examples

This requires PowerShell 3; I will install it this week, I'm still @ 2.0...

> If you want, I can see about writing a quick powershell script  that will
> parse and delete all of the zone identifier tags, if you like.

Would you? I know nothing of PowerShell, the syntax if totally alien to me. I guess it would be something like get-childitem -rec | Remove-Item -Stream Zone.Identifier? I plan on learning it some day (I need a good book, lol) but for now all I know is CMD and C-Shell scripts (and COBOL and EasyTrieve and JCL and Rexx, lol, all useless).

> hard links are the specific ones that are NOT supported.

Ohhh :-( It wont prevent me from buying your wonderful product, but it's a shame. What happens if we hardlink some files in the pool anyway? Just multiple duplicates of the same file, or something worse?

Thanks; I can't wait to get my disks and set-up a nice big pool :-)
 

Link to comment
Share on other sites

  • 0

> Measurement data is part of the program data. By UI data, I mean the UI

> location, layout, sort order, etc. So UI element settings.

 

Oh, then we're all good for MultiBoot :-)

Well, switching between the OS's will still be an issue, the settings will be different, and the measurement data may be off.  You'd want to remeasure each time you boot, ideally.

 

And you could use the "dpcmd" utility to initiate a remeasure, and set up a scheduled task to run on boot, to facilitate this. 

Though, if you have a large pool, it make take a while to remeasure. 

 

 

 

> Well, if you like powershell, you can write a script that ONLY deletes the

> zone identifier stream. That would be preferable, I  think. Also, there are a

> lot of programs that use streams. But since they're "super hidden" by default,

> it's very hard to tell. :)

 

Probably some other programs use them, but that little Streams tool can also simply LIST the streams, and I have yet to find a stream other than that Zone Identifier in my data. There *are* some streams on the system disk, but nothing anywhere else. Strangely, in prep to this reply I scanned my data and found not a single Zone Identifier. I wonder what I did to disable zone creation.

 

> In fact, here are some good examples

 

This requires PowerShell 3; I will install it this week, I'm still @ 2.0...

 

> If you want, I can see about writing a quick powershell script  that will

> parse and delete all of the zone identifier tags, if you like.

 

Would you? I know nothing of PowerShell, the syntax if totally alien to me. I guess it would be something like get-childitem -rec | Remove-Item -Stream Zone.Identifier? I plan on learning it some day (I need a good book, lol) but for now all I know is CMD and C-Shell scripts (and COBOL and EasyTrieve and JCL and Rexx, lol, all useless).

 

Well, the "tags" that we use for duplication are on the folders specifically. So if the Streams program is only looking at files, then that may be why it's not seeing any.

 

Also, if you're enabling "Pool File Duplication", this is handled specially, and doesn't show up on the pool. But it gets inherited to all folders by default.  So if you are okay with everything being at the same level, then no script needed. 

 

Though, while checking this, I discovered that a lot of my data still has Drive Extender tags! ("DEPRIMARY" streams). 

 

 

And I'm not a powershell expert, though I'm learning. It's really, really powerful, an the things you can do with it ....

 

 

And I tested this, and it should work to ONLY remove the "Zone Identifier" streams:

Get-ChildItem X:\ -file -recurse | Remove-Item -Stream Zone.Identifier 

This will remove just the "Zone.Identifier" stream, and only on files (not folders).  and do so for the entire folder structure. You may see errors on files with no streams. But  you can ignore these.  And depending on how many files you have to go through, this may take a while. 

 

 

 

> hard links are the specific ones that are NOT supported.

 

Ohhh :-( It wont prevent me from buying your wonderful product, but it's a shame. What happens if we hardlink some files in the pool anyway? Just multiple duplicates of the same file, or something worse?

 

Thanks; I can't wait to get my disks and set-up a nice big pool :-)

 

 

Yeah, it's a shame, but incredibly difficult to implement, if not outright impossible. 

 

And what happens? "Request not supported". It just errors out. Nothing harmful.  

But you can create a symbolic link instead. It should work just as well. 

 

That said, Hard links *are* supported on StableBit CloudDrive disks. :)

Link to comment
Share on other sites

  • 0

Good day.

> Well, switching between the OS's will still be an issue, the settings will be
> different, and the measurement data may be off.  You'd want to remeasure each
> time you boot, ideally. And you could use the "dpcmd" utility to initiate a
> remeasure, and set up a scheduled task to run on boot, to facilitate this.
> Though, if you have a large pool, it make take a while to remeasure.

Hmmm, I could create a junction for ProgramData\DrivePool and share it between OS'es. So long as the drives are called the same in both windows'es, this might work. Thoughts?

> Get-ChildItem X:\ -file -recurse | Remove-Item -Stream Zone.Identifier
> This will remove just the "Zone.Identifier" stream, and only on files (not
> folders).  and do so for the entire folder structure. You may see errors on
> files with no streams. But  you can ignore these.  And depending on how many
> files you have to go through, this may take a while.

Thanks. I'll have to test this later this week, -file is not supported by PS20, nor is -Stream. And it may indeed produce an error on each file which doesn't have the specified stream, which will be annoying...

> Yeah, it's a shame, but incredibly difficult to implement, if not outright
> impossible. And what happens? "Request not supported". It just errors out.
> Nothing harmful.  But you can create a symbolic link instead. It should work
> just as well.

It may be complicated to allow people to hardlink on the pool (for one, hardlinks have to end-up on the same disc as the original file), but if I hardlink a file from the drive itsef rather than from the pool drive, then to DP it will just look like 2 files, I'm not sure it would create a problem, besides disc usage stats being off a little...

Thanks.
Best Regards,
 

Link to comment
Share on other sites

  • 0

Good day.

 

> Well, switching between the OS's will still be an issue, the settings will be

> different, and the measurement data may be off.  You'd want to remeasure each

> time you boot, ideally. And you could use the "dpcmd" utility to initiate a

> remeasure, and set up a scheduled task to run on boot, to facilitate this.

> Though, if you have a large pool, it make take a while to remeasure.

 

Hmmm, I could create a junction for ProgramData\DrivePool and share it between OS'es. So long as the drives are called the same in both windows'es, this might work. Thoughts?

 

It would work, but it would likely prompt to transfer each time you boot up, as the system disk may be different. This depends on the exact setup though.  If you're using the same disk with multiple partitions or installs, then you may be okay to do this.

 

 

> Get-ChildItem X:\ -file -recurse | Remove-Item -Stream Zone.Identifier

> This will remove just the "Zone.Identifier" stream, and only on files (not

> folders).  and do so for the entire folder structure. You may see errors on

> files with no streams. But  you can ignore these.  And depending on how many

> files you have to go through, this may take a while.

 

Thanks. I'll have to test this later this week, -file is not supported by PS20, nor is -Stream. And it may indeed produce an error on each file which doesn't have the specified stream, which will be annoying...

 

 

Installed WMF4, this works to suppress errors:

Get-ChildItem d:\ -file -recurse | Remove-Item -Stream Zone.Identifier 2> $null

 

Ah, yeah. The Article lists Powershell 5.0 as required for this. you can run "get-host" to see what version you have installed.

 

And yes, the added stuff should remove the error prompts. Good catch (and like I said, I'm not an expert. 

 

 

It may be complicated to allow people to hardlink on the pool (for one, hardlinks have to end-up on the same disc as the original file), but if I hardlink a file from the drive itsef rather than from the pool drive, then to DP it will just look like 2 files, I'm not sure it would create a problem, besides disc usage stats being off a little...

If you did it manually, and on the pooled drive, then it should be okay. But as soon as the file is moved due to the balancing settings, ... well, it wouldn't break things, but it would effectively remove the hard link. 

And yes, this may definitely throw off the disk statistics.

Link to comment
Share on other sites

  • 0
It would work, but it would likely prompt to transfer each time you boot up, as the system disk may be different. This depends on the exact setup though.  If you're using the same disk with multiple partitions or installs, then you may be okay to do this.

 

Alright, I'll let you know once I get there; maybe if we're lucky I can softlink some files and leave the license separate for each OS. We'll see, I'm not there yet.

 

If you did it manually, and on the pooled drive, then it should be okay. But as soon as the file is moved due to the balancing settings, ... well, it wouldn't break things, but it would effectively remove the hard link.

 

Indeed, hadn't thought of that, lol.

 

Well, I think this concludes our little thread.

I must thank you again for all the time you spent answering my questions.

Best Regards,

Link to comment
Share on other sites

  • 0

Unfortunately, the files are encrypted, and there really isn't a good way to tell what is what. 

 

That said, you could schedule a task on each system to trigger a remeasure at system start. Not really efficient (as this can take hours), but it would work. ("dpcmd remesaure-pool x:"). 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...