How to use existing Disk to reaplace a faulty disk?


Recommended Posts

Hi there unraiders,

 

First time posting here and I usually find threads going through exactly what I need help with.

However, this time I might have a somewhat new solution to an issue.

 

image.thumb.png.439d4ddefac90eb5310f700c48c4fb39.png

 

These are my drives, and they are as follows:

Storage = Disk 1, 3, 4, 6

Middleman storage + configs = Disk 2 ,5

 

However, now my Disk 2 pinged for some errors and didn't want to play ball anymore. I noticed some posts recommending to replace it ASAP, which I intend to. I recently installed 2 16TB disks to start replacing my 4TB disks. (Parity + Disk 6)

 

With this I began moving data from Disk 3 to Disk 6, and now it's almost empty.

 

What I want to do is this:

 

  • Empty Disk 3
  • Remove it from the storage share
  • Format if necessary
  • Rebuild Disk 2 from parity onto Disk 3

My question is, how should one do this in the most proper way?

Are there any best practices for this? What should I look out for?

 

The reason for this solution is that the server is currently somewhat of a frankensteins monster and I prefer not to meddle with it too much until it's moved to a proper rack.

 

Hoping for some good tips. :) Thank you in advance.

 

Kind regards,

Oaken

Link to comment
39 minutes ago, Oaken said:
  • Empty Disk 3
  • Remove it from the storage share
  • Format if necessary
  • Rebuild Disk 2 from parity onto Disk 3

You cannot do this, you can move all data from the emulated disk2 to other disk(s), then do a new config and resync parity without disk2.

Link to comment

Hi Jorge, 

 

The end result sounds like the same that I want.

 

Since I'm sort of a newbie here, is this what you're telling me is the best way to go?:

  1. Empty Disk 3 to Disk 6
  2. Ensure Disk 3 is no longer related to a share and cleared
  3. Move data from the emulated Disk 2 to the emtpy Disk 3
  4. Do a new config and resync without Disk 2
  5. Remove Disk 2

If this is what sounds like the correct way I have a followup question:

 

With "Do a new config" do you mean stop and start the array and start the parity check manually?

Or is there something else that should be done?

 

 

Thank you for your response.

 

Kr,

Oaken

Link to comment

You don't need to empty the destination disk before, just copy everting from the emulated disk2 to different disk(s).

 

42 minutes ago, Oaken said:

With "Do a new config" do you mean stop and start the array and start the parity check manually?

No, Tools - New Config

Link to comment

Hi Jorge,

 

Thank you for trying to help me.

I tried to move the data from Disk 2 to Disk 3, which was part of all the shares, using Unbalanced.

Is there another method that is preferred?

 

Because now after the move the Docker Service failed to start, and the log says the following:

Mar 8 08:47:55 OakRaid emhttpd: shcmd (19865): /usr/local/sbin/mount_image '/mnt/user/system/docker/docker.img' /var/lib/docker 20
Mar 8 08:47:55 OakRaid kernel: BTRFS info (device loop2): using free space tree
Mar 8 08:47:55 OakRaid kernel: BTRFS info (device loop2): has skinny extents
Mar 8 08:47:55 OakRaid kernel: BTRFS error (device loop2): parent transid verify failed on 8946286592 wanted 8361418 found 8361441
Mar 8 08:47:55 OakRaid kernel: BTRFS error (device loop2): parent transid verify failed on 8946286592 wanted 8361418 found 8361453
Mar 8 08:47:55 OakRaid kernel: BTRFS warning (device loop2): couldn't read tree root
Mar 8 08:47:55 OakRaid kernel: BTRFS error (device loop2): open_ctree failed
Mar 8 08:47:55 OakRaid root: mount: /var/lib/docker: wrong fs type, bad option, bad superblock on /dev/loop2, missing codepage or helper program, or other error.
Mar 8 08:47:55 OakRaid root: mount error
Mar 8 08:47:55 OakRaid emhttpd: shcmd (19865): exit status: 1
Mar 8 08:47:55 OakRaid emhttpd: shcmd (19878): /usr/local/sbin/mount_image '/mnt/user/system/libvirt/libvirt.img' /etc/libvirt 1
Mar 8 08:47:56 OakRaid kernel: BTRFS info (device loop2): using free space tree
Mar 8 08:47:56 OakRaid kernel: BTRFS info (device loop2): has skinny extents
Mar 8 08:47:56 OakRaid root: Resize '/etc/libvirt' of 'max'
Mar 8 08:47:56 OakRaid emhttpd: shcmd (19880): /etc/rc.d/rc.libvirt start
Mar 8 08:47:56 OakRaid root: Starting virtlockd...
Mar 8 08:47:56 OakRaid root: Starting virtlogd...
Mar 8 08:47:56 OakRaid root: Starting libvirtd...
Mar 8 08:47:56 OakRaid kernel: tun: Universal TUN/TAP device driver, 1.6
Mar 8 08:47:56 OakRaid emhttpd: nothing to sync
Mar 8 08:47:56 OakRaid unassigned.devices: Mounting 'Auto Mount' Remote Shares...
Mar 8 08:47:56 OakRaid unassigned.devices: Using Gateway '192.168.0.1' to Ping Remote Shares.
Mar 8 08:47:56 OakRaid sudo: root : PWD=/ ; USER=root ; COMMAND=/bin/bash -c env DRY_RUN=false NOTIFY_PLAN=0 NOTIFY_TRANSFER=0 RESERVED_AMOUNT=1 RESERVED_UNIT=Gb RSYNC_ARGS=-X VERBOSITY=0 REFRESH_RATE=1000 /usr/local/emhttp/plugins/unbalanced/unbalanced --port 7090
Mar 8 08:47:56 OakRaid unassigned.devices: Waiting 5 secs before mounting Remote Shares...

 

I didn't get to the part where I created a new config, but I think it would be a bad idea since the disk isn't completely replaced.

Right now the disk is mounted fully again and not emulated after trying to start the array without it and then with it.

 

Any ideas of where to start looking? Or maybe you know how to make a proper file move? Just a mvdir *?

 

 

Kind regards,

Oaken

Link to comment

Hi again,

 

I was helped to recreate the Docker image and added all the dockers with previous templates and everything looks fine.

I would still like to remove the disk that caused errors before.

Is it still best practise to:

  1. Stop array
  2. Remove Disk 2
  3. Start array
  4. Stop array
  5. Tools->New Config

Or should it figure that out by itself?

 

 

Kind regards,

Oaken

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.