Jump to content

Move docker locations and replace cache drive help


zaniix

Recommended Posts

I made some mistakes  and now I need some help trying to fix it in the simplest way.

I need to replace my cache drive with a larger one, but I realized that I used my cache drive as the location for 
/mnt/cache/appdata/    that some dockers are using

I also set Docker vDisk location:    /mnt/cache/docker.img

Can I create new shares for these on the array, stop array and copy the files to the new shares, change the docker location settings, start the array?
swap the cache disk and then set those new shares to cache prefer and invoke mover so the files will live on the cache drive, but have an array path.

 

Would that work?

Edited by zaniix
fix spelling and add some clarification
Link to comment

There are several ways to do that, depending on preferences and system set up.

 

If your cache drive is formatted in BTRFS, the simplest solution is:

  • stop the array
  • add your new drive in your cache pool (2 disks now)
  • start the array
  • wait for the Balance to finish
  • if you are running 6.9beta you might have to run RAID1 Balance once again
  • stop the array
  • remove the old drive
  • start the array
  • wait for the Balance to finish
  • if you are running 6.9beta you might have to run Balance once again (not sure for only one device ?)

 

If your cache drive is formatted in XFS, you cannot benefit from the RAID pool functionality. I would suggest to:

  • check your share page to know what share is using cache (Compute All)
  • set those shares to cache YES
  • stop the Docker service in Settings
  • stop the VM service in Settings
  • run the mover (it can be long if there are a lot of small files in appdata)
  • check your share page that there are no more files on cache (Compute All)
  • stop the array
  • replace your cache drive
  • start the array
  • format the new cache drive
  • set all the share you want on cache to PREFER
  • run the mover (it can be long if there are a lot of small files in appdata)
  • check your share page that there are no more files on the array for the shares you wanted on cache (Compute All)
  • start the Docker service in Settings
  • start the VM service in Settings

Note that the mover ignore shares set to ONLY and NO

Link to comment

Simplest way is simply replace the cache drive using the method in the wiki, in short,

1. disable docker and vm services in settings. That should remove those items from the GUI menu.

2. set ALL user shares cache yes, then invoke the mover. If you did those two steps properly, and nothing is writing to the server for the duration, the cache drive should now be empty except for the docker.img which will get recreated when you reenable the service in step 7.

3. shut down and physically replace cache drive

4. start array and format new cache drive

5. set shares that should live on cache to cache prefer

6. run mover

7. enable docker and vm services

8. done

 

you can change /mnt/cache/appdata to /mnt/user/appdata if you wish, but I'd wait until you get the cache drive swapped. If you have any other files besides the docker.img on the root of the cache drive, those will need to be dealt with after step 2.

Link to comment
1 hour ago, jonathanm said:

Simplest way is simply replace the cache drive using the method in the wiki, in short,

1. disable docker and vm services in settings. That should remove those items from the GUI menu.

2. set ALL user shares cache yes, then invoke the mover. If you did those two steps properly, and nothing is writing to the server for the duration, the cache drive should now be empty except for the docker.img which will get recreated when you reenable the service in step 7.

3. shut down and physically replace cache drive

4. start array and format new cache drive

5. set shares that should live on cache to cache prefer

6. run mover

7. enable docker and vm services

8. done

 

you can change /mnt/cache/appdata to /mnt/user/appdata if you wish, but I'd wait until you get the cache drive swapped. If you have any other files besides the docker.img on the root of the cache drive, those will need to be dealt with after step 2.

I thought if I had a path specified like /mnt/cache/appdata  it would only look at the cache drive and not the array.  are you saying that /mnt/user/appdata and /mnt/cache/appdata are the same?

 

 

Link to comment
10 minutes ago, zaniix said:

I thought if I had a path specified like /mnt/cache/appdata  it would only look at the cache drive and not the array.  are you saying that /mnt/user/appdata and /mnt/cache/appdata are the same?

 

 

Not quite :)  /mnt/cache/appdata is the appdata folder on the cache drive, while /mnt/user/appdata is the amalgamation of appdata folders on all drives (including the cache).    If you only have an appdata folder on the cache drive they end up effectively being the same.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

×
×
  • Create New...