Jump to content

greybeard

Members
  • Posts

    127
  • Joined

  • Last visited

Posts posted by greybeard

  1. I have a 19 dirve 6.6.6 array.

    1 x 8 TB Parity

    18 x 2 TB MBR unalligned ReiserFS data drives.

    1 empty drive bay.

     

    I also have 4 x new 8 TB drives so what I want to get to is

    2 x 8 TB Parity

    3 x 8 TB  GPT alligned XFS data drives.

    8 x 2 TB XFS data drives. Don't think it makes any difference if these are GPT or MBR.

     

    Pretty sure I can not replace a 2 TB ReiserFS unalligned data drive with an 8 TB XFS allinged drive just by doing a disk swap and rebuild. So here is my idea for how to get converted.

    1. Create a 3 x 8 TB array on a spare box.
    2. From Win10 system, copy date from 11 of the 2 TB drives to the 3, 8 TB drive array. (The 2 TB drives are all 98% full. I know that is not best practice.)
    3. From Win10 system, verify copied data. (I have a way to do this.)
    4. Shut down both arrays.
    5. Create a new config with
      • Replaced parity drive with a new 8 TB drive.
      • Replaced 3 of the 2 TB drives with the 3, 8 TB drives I copied the data to.
      • Remove the other 8, 2 TB drives, i copied the data off of, from the config.
    6. Start the array and build parity.
    7. If anything goes wrong with 5 or 6 I am thinking I can restore the original config and original drives and have good parity.
    8. Wait for parity sync to complete.
    9. Preclear the 8 TB drives I coped the data from and are no longer in the arrary. (Technically I may not need to preclear but planning to do it anyway.)
    10. Stop the array and add the precleared drives.
    11. Start the array.
    12. Copy data from remaining 7, 2 TB drives to the now empty 2 TB drives.
    13. Verify copied data.
    14. Shutdown the array.
    15. New config.
      • Replace the new parity drive with the old one.
      • Remove the 7 old 2 TB drives from the array.
    16. Start the array and build parity.
    17. Again I should have good parity if I have to revert to the config i have at the end of step 15.
    18. Wait for parity sync to complete.
    19. Shut down the array.
    20. Add second 8 TB parity drive.
    21. Start array and let it build parity on the second parity drive.
    22. Do what ever I want with the 7 old 2 TB drives. Maybe preclear and add some back to the arrary to have more free space.

     

    Will probably take a month or so to complete all steps but when done I should be able to replce any of the 11, 2 TB drives still in the array with an 8 TB drive and get an XFS alligned partion after rebuild.

     

    Thoughts? Pitfalls? Other ideas? Thanks for taking a look.

  2. I downloaded .9.9d and noticed the following. Not a problem but thought you might want to know or more likely, it is deliberate for some reason.

     

    It seems to run SMARTCTL twice, a few seconds apart, each time a preclear is started.

     

    Jan 19 13:35:58 MiniClops in.telnetd[29932]: connect from 192.168.0.18 (192.168.0.18) (Routine)

    Jan 19 13:36:01 MiniClops login[29933]: ROOT LOGIN  on `pts/3' from `192.168.0.18' (Logins)

    Jan 19 13:36:23 MiniClops kernel:  sdc: unknown partition table (Drive related)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]: smartctl 5.39.1 2010-01-28 r3054 [i486-slackware-linux-gnu] (local build) (Misc)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]: Copyright © 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net (Misc)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]:  (Misc)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]: === START OF INFORMATION SECTION === (Misc)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]: Model Family:    Western Digital Caviar Green family (Misc)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]: Device Model:    WDC WD20EADS-00R6B0 (Misc)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]: Serial Number:    WD-WCAVY0322396 (Misc)

    ...

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]: If Selective self-test is pending on power-up, resume after 0 minute delay. (Misc)

    Jan 19 13:36:24 MiniClops preclear_disk-start[30155]:  (Misc)

    Jan 19 13:36:31 MiniClops preclear_disk-start[30196]: smartctl 5.39.1 2010-01-28 r3054 [i486-slackware-linux-gnu] (local build) (Misc)

    Jan 19 13:36:31 MiniClops preclear_disk-start[30196]: Copyright © 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net (Misc)

    Jan 19 13:36:31 MiniClops preclear_disk-start[30196]:  (Misc)

    Jan 19 13:36:31 MiniClops preclear_disk-start[30196]: === START OF INFORMATION SECTION === (Misc)

    Jan 19 13:36:31 MiniClops preclear_disk-start[30196]: Model Family:    Western Digital Caviar Green family (Misc)

    Jan 19 13:36:31 MiniClops preclear_disk-start[30196]: Device Model:    WDC WD20EADS-00R6B0 (Misc)

    Jan 19 13:36:31 MiniClops preclear_disk-start[30196]: Serial Number:    WD-WCAVY0322396 (Misc)

    ...

  3. I'll get the newest version and check the drives with the command you posted. In the mean time, one more question. When running a multipass preclear and there is an error during the post read, of either pass, that would generate one of these messages:

     

    == skip=182600 count=200 returned instead of 00000

     

    Are the skip count messages only shown for the last pass do you see them for all passes? For example if running two passes and there is a verify error in the first pass but not the second will I know that it happened?

     

    Thanks again for all you work and help.

  4. 1. The following is put in the log only when there is also a SMART difference. Is that by design?

     

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ============================================================================

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ==

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Disk /dev/sdc has been successfully precleared

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ==

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Ran 2 preclear-disk cycles

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ==

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Using :Read block size = 8225280 Bytes

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Last Cycle's Pre Read Time  : 2:20:22 (47 MB/s)

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Last Cycle's Zeroing time  : 2:29:25 (44 MB/s)

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Last Cycle's Post Read Time : 7:31:18 (14 MB/s)

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Last Cycle's Total Time    : 10:01:50

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ==

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Total Elapsed Time 20:53:48

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ==

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Disk Start Temperature: 26C

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ==

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: == Current Disk Temperature: 27C,

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ==

    Jan 16 17:19:14 MiniClops preclear_disk-diff[24989]: ============================================================================

     

    2. Because of the above, the log does not tell me when a preclear failed unless there are also smart differences.

     

    3. In this result why is the the value for "returned" blank instead of a checksum value? Again, this does not showup in the log but only in the telnet session. I just ran 14 preclears and don't know if I missed this message before closing one or more of the sessions. I did see it for sure in two sessions. Same thing in both, returned is blank.

    ============================================================================

    ==

    == Disk /dev/sdf has NOT been precleared successfully

    == skip=182600 count=200 returned instead of 00000

    ============================================================================

  5. Made the change using wordpad from Windows 7. Suspect I might have broken the script

     

    I did in fact breake the script. Wordpad did something bad to it. Downloaded and istalled Notepad2. Made the edit using a clean copy of the script and it is working now. Started 6 more preclears, four of them are in their 2nd or 3rd pass, the preread is being skipped after pass 1.

     

    Joe: Thanks again for the update and link.

  6. if [ "$pre_read_flag" = "y"  -a  $cc = 1 ]

     

    Made the change using wordpad from Windows 7. Suspect I might have broken the script by adding CRs, will find out when I try to run it. One way or another I will get it working even if I have figure out how to edit the script using a UNIX editor. My two new 2TB drives arrived in the mail today so this will save quite a bit of time preclearing them.

     

    Thanks!

    Jerry

  7. When doing a multi pass preclear I am wondering if there is any benifit to doing a preread for passes 2-n? Considering that a post read/verify just finished does doing another read pass before the write pass contribute to the processes? Running multi pass preclears on 2TB drives takes a long time.

     

    Regardless, thanks Joe for a great utility. I added six precleared drives (2x1.5TB & 4x1TB) to my array with only a few minutes of down time. I also ran all six preclears at the same time. Worked perfectly.

  8. In the past I would "break in" new drives by running multiple erase/verify passes using a standalone utility. I would make 5 passes varying the bit pattern from X'00' to x'55' to x'aa' to x'ff' and finally another x'00'. Just thought I would suggest there might be some benifit to this instead of always using x'00'. I understand the the final pass of a multiple pass preclean would always have to use x'00' to leave the drive in proper condition for addition to the the array but that doesn't mean different patterns couldn't be used in earlier passes. I guess you would also only want to write the signature indicating the disk is clean after an x'00' pass and make sure the signature is destroyed at the beginning of a non x'00' pass.

     

    One other observation. I am wondering about is if the preread could be skipped on passes 2-n based on the assumption a verify read would have just finished from the previous pass. I wouldn't think doing two read passes in a row helps to achieve the desired objective and it sure would save a lot of time.

     

    Just a couple of thoughts to take or leave as you see fit. Either way, thanks for a great tool.

     

    PS: I am sure those bit patterns are not ideal because of the way the way data is encoded before being written to the drive. It would take a smarter person then me to figure out what patterens would really be best but I have got to think some varyation would be better than always using x'00'.

×
×
  • Create New...