[OmniOS-discuss] issue importing zpool on S11.1 from omniOS LUNs

Richard Elling richard.elling at richardelling.com
Thu Jan 26 19:18:27 UTC 2017


> On Jan 26, 2017, at 12:20 AM, Stephan Budach <stephan.budach at JVM.DE> wrote:
> 
> Hi Richard,
> 
> gotcha… read on, below…

"thin provisioning" bit you. For "thick provisioning" you’ll have a refreservation and/or reservation.
 — richard

> 
> Am 26.01.17 um 00:43 schrieb Richard Elling:
>> more below…
>> 
>>> On Jan 25, 2017, at 3:01 PM, Stephan Budach <stephan.budach at JVM.DE <mailto:stephan.budach at jvm.de>> wrote:
>>> 
>>> Ooops… should have waited with sending that message after I rebootet the S11.1 host…
>>> 
>>> 
>>> Am 25.01.17 um 23:41 schrieb Stephan Budach:
>>>> Hi Richard,
>>>> 
>>>> Am 25.01.17 um 20:27 schrieb Richard Elling:
>>>>> Hi Stephan,
>>>>> 
>>>>>> On Jan 25, 2017, at 5:54 AM, Stephan Budach <stephan.budach at JVM.DE <mailto:stephan.budach at jvm.de>> wrote:
>>>>>> 
>>>>>> Hi guys,
>>>>>> 
>>>>>> I have been trying to import a zpool, based on a 3way-mirror provided by three omniOS boxes via iSCSI. This zpool had been working flawlessly until some random reboot of the S11.1 host. Since then, S11.1 has been importing this zpool without success.
>>>>>> 
>>>>>> This zpool consists of three 108TB LUNs, based on a raidz-2 zvols… yeah I know, we shouldn't have done that in the first place, but performance was not the primary goal for that, as this one is a backup/archive pool.
>>>>>> 
>>>>>> When issueing a zpool import, it says this:
>>>>>> 
>>>>>> root at solaris11atest2:~# zpool import
>>>>>>   pool: vsmPool10
>>>>>>     id: 12653649504720395171
>>>>>>  state: DEGRADED
>>>>>> status: The pool was last accessed by another system.
>>>>>> action: The pool can be imported despite missing or damaged devices.  The
>>>>>>         fault tolerance of the pool may be compromised if imported.
>>>>>>    see: http://support.oracle.com/msg/ZFS-8000-EY <http://support.oracle.com/msg/ZFS-8000-EY>
>>>>>> config:
>>>>>> 
>>>>>>         vsmPool10                                  DEGRADED
>>>>>>           mirror-0                                 DEGRADED
>>>>>>             c0t600144F07A3506580000569398F60001d0  DEGRADED  corrupted data
>>>>>>             c0t600144F07A35066C00005693A0D90001d0  DEGRADED  corrupted data
>>>>>>             c0t600144F07A35001A00005693A2810001d0  DEGRADED  corrupted data
>>>>>> 
>>>>>> device details:
>>>>>> 
>>>>>>         c0t600144F07A3506580000569398F60001d0    DEGRADED         scrub/resilver needed
>>>>>>         status: ZFS detected errors on this device.
>>>>>>                 The device is missing some data that is recoverable.
>>>>>> 
>>>>>>         c0t600144F07A35066C00005693A0D90001d0    DEGRADED         scrub/resilver needed
>>>>>>         status: ZFS detected errors on this device.
>>>>>>                 The device is missing some data that is recoverable.
>>>>>> 
>>>>>>         c0t600144F07A35001A00005693A2810001d0    DEGRADED         scrub/resilver needed
>>>>>>         status: ZFS detected errors on this device.
>>>>>>                 The device is missing some data that is recoverable.
>>>>>> 
>>>>>> However, when  actually running zpool import -f vsmPool10, the system starts to perform a lot of writes on the LUNs and iostat report an alarming increase in h/w errors:
>>>>>> 
>>>>>> root at solaris11atest2:~# iostat -xeM 5
>>>>>>                          extended device statistics         ---- errors ---
>>>>>> device    r/s    w/s   Mr/s   Mw/s wait actv  svc_t  %w  %b s/w h/w trn tot
>>>>>> sd0       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0   0   0   0
>>>>>> sd1       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0   0   0   0
>>>>>> sd2       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0  71   0  71
>>>>>> sd3       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0   0   0   0
>>>>>> sd4       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0   0   0   0
>>>>>> sd5       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0   0   0   0
>>>>>>                          extended device statistics         ---- errors ---
>>>>>> device    r/s    w/s   Mr/s   Mw/s wait actv  svc_t  %w  %b s/w h/w trn tot
>>>>>> sd0      14.2  147.3    0.7    0.4  0.2  0.1    2.0   6   9   0   0   0   0
>>>>>> sd1      14.2    8.4    0.4    0.0  0.0  0.0    0.3   0   0   0   0   0   0
>>>>>> sd2       0.0    4.2    0.0    0.0  0.0  0.0    0.0   0   0   0  92   0  92
>>>>>> sd3     157.3   46.2    2.1    0.2  0.0  0.7    3.7   0  14   0  30   0  30
>>>>>> sd4     123.9   29.4    1.6    0.1  0.0  1.7   10.9   0  36   0  40   0  40
>>>>>> sd5     142.5   43.0    2.0    0.1  0.0  1.9   10.2   0  45   0  88   0  88
>>>>>>                          extended device statistics         ---- errors ---
>>>>>> device    r/s    w/s   Mr/s   Mw/s wait actv  svc_t  %w  %b s/w h/w trn tot
>>>>>> sd0       0.0  234.5    0.0    0.6  0.2  0.1    1.4   6  10   0   0   0   0
>>>>>> sd1       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0   0   0   0
>>>>>> sd2       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0  92   0  92
>>>>>> sd3       3.6   64.0    0.0    0.5  0.0  4.3   63.2   0  63   0 235   0 235
>>>>>> sd4       3.0   67.0    0.0    0.6  0.0  4.2   60.5   0  68   0 298   0 298
>>>>>> sd5       4.2   59.6    0.0    0.4  0.0  5.2   81.0   0  72   0 406   0 406
>>>>>>                          extended device statistics         ---- errors ---
>>>>>> device    r/s    w/s   Mr/s   Mw/s wait actv  svc_t  %w  %b s/w h/w trn tot
>>>>>> sd0       0.0  234.8    0.0    0.7  0.4  0.1    2.2  11  10   0   0   0   0
>>>>>> sd1       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0   0   0   0
>>>>>> sd2       0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0   0  92   0  92
>>>>>> sd3       5.4   54.4    0.0    0.3  0.0  2.9   48.5   0  67   0 384   0 384
>>>>>> sd4       6.0   53.4    0.0    0.3  0.0  4.6   77.7   0  87   0 519   0 519
>>>>>> sd5       6.0   60.8    0.0    0.3  0.0  4.8   72.5   0  87   0 727   0 727
>>>>> 
>>>>> h/w errors are a classification of other errors. The full error list is available from "iostat -E" and will
>>>>> be important to tracking this down.
>>>>> 
>>>>> A better, more detailed analysis can be gleaned from the "fmdump -e" ereports that should be 
>>>>> associated with each h/w error. However, there are dozens of causes of these so we don’t have
>>>>> enough info here to fully understand.
>>>>>  — richard
>>>>> 
>>>> Well… I can't provide you with the output of fmdump -e (since  I am currently unable to get the '-' typed in to the console, due to some fancy keyboard layout issues and nit being able to login via ssh as well (can authenticate, but I don't get to the shell, which may be due to the running zpool import), but I can confirm that fmdump does show nothing at all. I could just reset the S11.1 host, after removing the zpool.cache file, such as that the system will not try to import the zpool upon restart right away…
>>>> 
>>>> …plus I might get the option to set the keyboard right, after reboot, but that's another issue…
>>>> 
>>> After resetting the S11.1 host and getting the keyboard layout right, I issued a fmdump -e and there they are… lots of:
>>>  
>>> Jan 25 23:25:13.5643 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.8944 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.8945 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.8946 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9274 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9275 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9276 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9277 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9282 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9284 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9285 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9286 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9287 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9288 ereport.fs.zfs.dev.merr.write
>>> Jan 25 23:25:13.9290 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9294 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9301 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:25:13.9306 ereport.io.scsi.cmd.disk.dev.rqs.merr.write
>>> Jan 25 23:50:44.7195 ereport.io.scsi.cmd.disk.dev.rqs.derr
>>> Jan 25 23:50:44.7306 ereport.io.scsi.cmd.disk.dev.rqs.derr
>>> Jan 25 23:50:44.7434 ereport.io.scsi.cmd.disk.dev.rqs.derr
>>> Jan 25 23:53:31.4386 ereport.io.scsi.cmd.disk.dev.rqs.derr
>>> Jan 25 23:53:31.4579 ereport.io.scsi.cmd.disk.dev.rqs.derr
>>> Jan 25 23:53:31.4710 ereport.io.scsi.cmd.disk.dev.rqs.derr
>>> 
>>> 
>>> These seem to be media errors and disk errors on the zpools/zvols that make up the LUNs for this zpool… I am wondering, why this happens.
>> 
>> yes, good question
>> That we get media errors "merr" on write is one clue. To find out more details, "fmdump -eV"
>> will show in gory details the exact SCSI asc/ascq codes, LBAs, etc.
>> 
>> ZFS is COW, so if the LUs are backed by ZFS and there isn’t enough free space, then this is
>> the sort of error we expect. But there could be other reasons.
>>  — richard
>> 
> Oh Lord… I really think, that this is it… this is what the zpool/zvol looks like on one of the three targets:
> 
> root at tr1206900:/root# zpool list
> NAME            SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
> rpool          29,8G  21,5G  8,27G         -    45%    72%  1.00x  ONLINE  -
> tr1206900data   109T   106T  3,41T         -    51%    96%  1.00x  ONLINE  -
> 
> root at tr1206900:/root# zfs list -r tr1206900data
> NAME                      USED  AVAIL  REFER  MOUNTPOINT
> tr1206900data            86,6T      0   236K  /tr1206900data
> tr1206900data/vsmPool10  86,6T      0  86,6T  -
> 
> root at tr1206900:/root# zfs get all tr1206900data/vsmPool10
> NAME                     PROPERTY              VALUE                  SOURCE
> tr1206900data/vsmPool10  type                  volume                 -
> tr1206900data/vsmPool10  creation              Mo. Jan 11 12:57 2016  -
> tr1206900data/vsmPool10  used                  86,6T                  -
> tr1206900data/vsmPool10  available             0                      -
> tr1206900data/vsmPool10  referenced            86,6T                  -
> tr1206900data/vsmPool10  compressratio         1.00x                  -
> tr1206900data/vsmPool10  reservation           none                   default
> tr1206900data/vsmPool10  volsize               109T                   local
> tr1206900data/vsmPool10  volblocksize          128K                   -
> tr1206900data/vsmPool10  checksum              on                     default
> tr1206900data/vsmPool10  compression           off                    default
> tr1206900data/vsmPool10  readonly              off                    default
> tr1206900data/vsmPool10  copies                1                      default
> tr1206900data/vsmPool10  refreservation        none                   default
> tr1206900data/vsmPool10  primarycache          all                    local
> tr1206900data/vsmPool10  secondarycache        all                    default
> tr1206900data/vsmPool10  usedbysnapshots       0                      -
> tr1206900data/vsmPool10  usedbydataset         86,6T                  -
> tr1206900data/vsmPool10  usedbychildren        0                      -
> tr1206900data/vsmPool10  usedbyrefreservation  0                      -
> tr1206900data/vsmPool10  logbias               latency                default
> tr1206900data/vsmPool10  dedup                 off                    default
> tr1206900data/vsmPool10  mlslabel              none                   default
> tr1206900data/vsmPool10  sync                  standard               default
> tr1206900data/vsmPool10  refcompressratio      1.00x                  -
> tr1206900data/vsmPool10  written               86,6T                  -
> tr1206900data/vsmPool10  logicalused           86,5T                  -
> tr1206900data/vsmPool10  logicalreferenced     86,5T                  -
> tr1206900data/vsmPool10  snapshot_limit        none                   default
> tr1206900data/vsmPool10  snapshot_count        none                   default
> tr1206900data/vsmPool10  redundant_metadata    all                    default
> 
> This must be the dumbest failure one can possibly have, when setting up a zvol iSCSI target. So, someone - no, it wasn't me, actually, but this doesn't do me any good anyway, created a zvol equal the size to the zpool and now it is as you suspected: the zvol has run out of space.
> 
> So, the only chance would be to add additional space to these zpools, such as that the zvol actually can occupy the space the claim to have? Should be manageable… I could provide some iSCSI LUNs to the targets themselves and add another vdev. There will be some serious cleanup needed afterwards…
> 
> What about the "free" 3,41T in zpool itself? Could those be somehow utilised?
> 
> 
> Thanks,
> Stephan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://omniosce.org/ml-archive/attachments/20170126/1062d854/attachment-0001.html>


More information about the OmniOS-discuss mailing list