Compare commits
	
		
			No commits in common. "0490b14ef85982c76b92fccfc56819933a8796e3" and "961b2205ac6b587793e50c249f40500a086fa9db" have entirely different histories.
		
	
	
		
			0490b14ef8
			...
			961b2205ac
		
	
		
@ -40,8 +40,6 @@ on LV:
 | 
				
			|||||||
# lvcreate --type raid1 --mirrors 1 -n backup -L 4t vgbackup /dev/sda /dev/sdb
 | 
					# lvcreate --type raid1 --mirrors 1 -n backup -L 4t vgbackup /dev/sda /dev/sdb
 | 
				
			||||||
# cat /sys/class/block/nvme0n1/queue/logical_block_size
 | 
					# cat /sys/class/block/nvme0n1/queue/logical_block_size
 | 
				
			||||||
512
 | 
					512
 | 
				
			||||||
# dumpe2fs -h /dev/vgbackup/backup | grep 'Block size'
 | 
					 | 
				
			||||||
Block size:               4096
 | 
					 | 
				
			||||||
# lvconvert --raidintegrity y --raidintegrityblocksize 4096 --raidintegritymode bitmap /dev/vgbackup/backup
 | 
					# lvconvert --raidintegrity y --raidintegrityblocksize 4096 --raidintegritymode bitmap /dev/vgbackup/backup
 | 
				
			||||||
# mkfs.ext4 -b 4096 -O ^has_journal /dev/vgbackup/backup
 | 
					# mkfs.ext4 -b 4096 -O ^has_journal /dev/vgbackup/backup
 | 
				
			||||||
{% endhighlight %}
 | 
					{% endhighlight %}
 | 
				
			||||||
 | 
				
			|||||||
@ -34,7 +34,7 @@ If problems are found, this is denoted by @m@ on 9th bit of attributes displayed
 | 
				
			|||||||
by @lvs@:
 | 
					by @lvs@:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{% highlight bash %}
 | 
					{% highlight bash %}
 | 
				
			||||||
# lvs
 | 
					$ cat /tmp/lvs
 | 
				
			||||||
LV      VG    Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync  Convert
 | 
					LV      VG    Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync  Convert
 | 
				
			||||||
backup  vgdev rwi-aor-m- 4.00g                                     100.00
 | 
					backup  vgdev rwi-aor-m- 4.00g                                     100.00
 | 
				
			||||||
{% endhighlight %}
 | 
					{% endhighlight %}
 | 
				
			||||||
@ -58,8 +58,7 @@ bq. Integrity limitations
 | 
				
			|||||||
pvmove, snapshots, splitmirror, raid syncaction commands, raid rebuild.
 | 
					pvmove, snapshots, splitmirror, raid syncaction commands, raid rebuild.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
That means commands like @lvchange --syncaction repair@ or @lvchange --rebuild@
 | 
					That means commands like @lvchange --syncaction repair@ or @lvchange --rebuild@
 | 
				
			||||||
*should not be run* on RAID with integrity. They can give misleading results,
 | 
					won't work as expected.
 | 
				
			||||||
e.g. signal mismatch when there is none.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
If RAID1 with integrity LV requires refresh (partial synchronization) due to
 | 
					If RAID1 with integrity LV requires refresh (partial synchronization) due to
 | 
				
			||||||
e.g.  device write errors, but both PVs are otherwise available, take the
 | 
					e.g.  device write errors, but both PVs are otherwise available, take the
 | 
				
			||||||
@ -83,8 +82,7 @@ so the process must be performed manually:
 | 
				
			|||||||
{% endhighlight %}
 | 
					{% endhighlight %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* check integrity of both RAID1 parts:
 | 
					* check integrity of both RAID1 parts:
 | 
				
			||||||
** whether they differ at all (this may be time consuming and it may be more
 | 
					** whether they differ at all:
 | 
				
			||||||
appropriate to proceed directly to file content comparison instead):
 | 
					 | 
				
			||||||
{% highlight bash %}
 | 
					{% highlight bash %}
 | 
				
			||||||
# sha512sum /dev/vgdev/backup /dev/vgdev/backup_split
 | 
					# sha512sum /dev/vgdev/backup /dev/vgdev/backup_split
 | 
				
			||||||
{% endhighlight %}
 | 
					{% endhighlight %}
 | 
				
			||||||
@ -94,19 +92,11 @@ appropriate to proceed directly to file content comparison instead):
 | 
				
			|||||||
# fsck.ext4 -n -f /dev/vgdev/backup_split
 | 
					# fsck.ext4 -n -f /dev/vgdev/backup_split
 | 
				
			||||||
{% endhighlight %}
 | 
					{% endhighlight %}
 | 
				
			||||||
** once filesystems are fixed and can be mounted, compare file content to
 | 
					** once filesystems are fixed and can be mounted, compare file content to
 | 
				
			||||||
determine which mirror is valid (no output from @rsync@ means no differences):
 | 
					determine which mirror is valid:
 | 
				
			||||||
{% highlight bash %}
 | 
					{% highlight bash %}
 | 
				
			||||||
# mount /dev/vgdev/backup /mnt/mirror1
 | 
					# mount /dev/vgdev/backup /mnt/mirror1
 | 
				
			||||||
# mount /dev/vgdev/backup_split /mnt/mirror2
 | 
					# mount /dev/vgdev/backup_split /mnt/mirror1
 | 
				
			||||||
# rsync -n -c -a --delete --progress /mnt/mirror1 /mnt/mirror2
 | 
					# rsync -d /mnt/mirror1 /mnt/mirror2
 | 
				
			||||||
{% endhighlight %}
 | 
					{% endhighlight %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* finally remove invalid mirror, recreate RAID1, re-add integrity layer and
 | 
					* finally remove invalid mirror, recreate RAID1 and re-add integrity layer
 | 
				
			||||||
discard unused space if necessary
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
h2. SSD related maintenance
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
h3. Discard unused space
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* OWC does not support TRIM
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -43,7 +43,6 @@ h3 {
 | 
				
			|||||||
  font-size: 1rem;
 | 
					  font-size: 1rem;
 | 
				
			||||||
  font-weight: bold;
 | 
					  font-weight: bold;
 | 
				
			||||||
  margin-top: 2rem;
 | 
					  margin-top: 2rem;
 | 
				
			||||||
  margin-bottom: 0.6em;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
p, ul {
 | 
					p, ul {
 | 
				
			||||||
  line-height: 1.35rem;
 | 
					  line-height: 1.35rem;
 | 
				
			||||||
@ -78,8 +77,8 @@ figcaption {
 | 
				
			|||||||
figcaption .lang {
 | 
					figcaption .lang {
 | 
				
			||||||
  color: #606060;
 | 
					  color: #606060;
 | 
				
			||||||
  font-weight: bold;
 | 
					  font-weight: bold;
 | 
				
			||||||
  font-size: 0.7rem;
 | 
					  font-size: 0.8rem;
 | 
				
			||||||
  line-height: 1.3rem;
 | 
					  line-height: 1.5rem;
 | 
				
			||||||
  padding: 0 0.4rem;
 | 
					  padding: 0 0.4rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
pre {
 | 
					pre {
 | 
				
			||||||
@ -124,5 +123,5 @@ a:hover {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
em {
 | 
					em {
 | 
				
			||||||
  color: #505050;
 | 
					  color: #505050;
 | 
				
			||||||
  font-size: 0.85rem;
 | 
					  font-size: 0.9rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user