From: siranee.ja@tpc.co.th
To: siranee.ja@tpc.co.th
Cc: "Chris Murphy" <lists@colorremedies.com>,
"Btrfs BTRFS" <linux-btrfs@vger.kernel.org>,
voravat@tpcorp.co.th
Subject: Re: btrfs issue with mariadb incremental backup
Date: Fri, 11 Aug 2017 13:00:06 +0700 (ICT) [thread overview]
Message-ID: <13031.192.168.42.222.1502431206.squirrel@mail> (raw)
In-Reply-To: <27218.183.88.87.49.1502426431.squirrel@mail>
Sorry Chris,
I forgot to send the diff from rsync -anc result
the source container A start data as data on snapshot mysql_201708040830
[root@backuplogC7 tmp]# ls -l /var/lib/mariadb
total 0
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql
drwxrwxr-x+ 1 mysql mysql 260 Jul 12 08:29 mysql_201708040830
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql_201708050830
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql_201708060830
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql_201708070830
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql_201708080830
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql_201708090830
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql_201708100830
drwxrwxr-x+ 1 mysql mysql 260 Aug 4 13:10 mysql_201708110830
the dest container B start data as data on snapshot mysql_201708070830
[root@joytest tmp]# ls -l /var/lib/mariadb
total 0
drwxrwxr-x+ 1 mysql mysql 260 Aug 11 10:24 mysql
drwxrwxr-x+ 1 mysql mysql 260 Aug 7 09:26 mysql_201708070830
drwxrwxr-x+ 1 mysql mysql 260 Aug 7 09:26 mysql_201708080830
drwxrwxr-x+ 1 mysql mysql 260 Aug 7 09:26 mysql_201708090830
drwxrwxr-x+ 1 mysql mysql 260 Aug 7 09:26 mysql_201708100830
drwxrwxr-x+ 1 mysql mysql 260 Aug 7 09:26 mysql_201708110830
tpcorp@virtualtrust3:/tmp$ diff source_mysql_201708110830.txt
dest_mysql_201708110830.txt
1c1
< drwxrwxr-x 260 2017/08/04 13:10:56 mysql_201708110830
---
> drwxrwxr-x 260 2017/08/07 09:26:32 mysql_201708110830
5c5
< -rw-rwx--- 5242880 2017/08/10 07:30:35 mysql_201708110830/ib_logfile1
---
> -rw-rwx--- 5242880 2017/08/07 07:30:36 mysql_201708110830/ib_logfile1
Best Regards,
Siranee Jaraswachirakul.
> Hi Chris,
> The kernel version that I test is "4.4.0-89-generic" as I tested on ubuntu lxd If I
> want to change the kernel version I have to upgrade the host box.
>
> As you suggest the rsync to compare the subvolumes. I found the point.
> the subvolumes are different only after I start to del old subvolumes on machine A
> the steps are
>
> 30 08 * * * root /root/script/backup/backupsnap.sh root password
> /var/lib/mariadb/mysql >> /var/log/btrfs_snap.log
> 05 09 * * * root /root/script/backupbtrfs_inc.sh /var/lib/mariadb 192.168.45.166
> /var/lib/mariadb >> /var/log/btrfs_send.log
> 30 19 * * * root /root/script/delete_btrfs_sub_snap_volume.sh /var/lib/mariadb 7 >>
> /var/log/btrfs_del.log
>
>
> The following script maintain snapshot to currently only 7 snapshots.
> [root@backuplogC7 ~]# cat /root/script/delete_btrfs_sub_snap_volume.sh
> basepath=$1
> keepcount=$2
> havecount=`btrfs sub list -s ${basepath}|cut -d' ' -f14|wc -l`
> delcount=$[$keepcount-$havecount];
> datet=$(date +%Y%m%d%H%M)
> echo "Start Delete ${datet}"
> if [ $delcount -lt 0 ]; then
> # list only snapshot subvolume
> for i in `btrfs sub list -s ${basepath}|cut -d' ' -f14|head ${delcount}`
> do
> echo "btrfs sub delete ${basepath}/$i"
> btrfs sub delete ${basepath}/$i
> btrfs sub sync ${basepath}
> done
> else
> echo "$delcount -gt 0 nothing to delete"
> fi
> echo "Stop Delete ${datet}"
>
> Does it mean my delete script is not the properly way of the btrfs purge old
> snapshot on source?
>
> Best Regards,
>
> Siranee Jarwachirakul.
>
>> On Wed, Aug 9, 2017 at 12:36 AM, <siranee.ja@tpc.co.th> wrote:
>>
>>> 488 btrfs sub snap mysql_201707230830 mysql
>>> 489 systemctl start mariadb
>>> 490 btrfs sub list .
>>> 491 cat /var/log/mariadb/mariadb.log
>>
>> OK so mysql_201707230830 once on machine B is inconsistent somehow. So
>> the questions I have are:
>>
>> Is mysql_201707230830 on machine A really identical to
>> mysql_201707230830 on machine B? You can do an rsync -anc (double
>> check those options) which should independently check whether those
>> two subvolumes are in fact identical. The -n is a no op, which doesn't
>> really matter much because as read only subvolumes any attempt to sync
>> will just result in noisy messages. The -c causes rsync to do its own
>> checksum verification on both sides.
>>
>> If the subvolumes are different, we need to find out why.
>>
>> If the subvolumes are the same, then I wonder if you can reproduce the
>> mariadb complaint on machine A merely by making a rw snapshot of
>> mysql_201707230830 and trying to start it. If so, then it's not a send
>> receive problem, it sounds like the snapshot itself is inconsistent,
>> maybe mariadb hasn't actually completely closed out the database at
>> the time the read only snapshot was taken? I'm not sure.
>>
>> If the subvolumes are different, I'm going to recommend updating at
>> least the btrfs-progs because 4.4 is kinda old at this point. The
>> kernel code is what's mainly responsible for the send stream, and the
>> user space code is mainly responsible for receiving. And I don't off
>> hand know or want to look up all the send receive changes between 4.4
>> and 4.12 to speculate on whether this is has already been fixed.
>>
>> What's the kernel version?
>>
>> --
>> Chris Murphy
>>
>
>
next prev parent reply other threads:[~2017-08-11 6:00 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-09 4:32 btrfs issue with mariadb incremental backup siranee.ja
2017-08-09 5:46 ` Chris Murphy
2017-08-09 6:36 ` siranee.ja
2017-08-09 17:59 ` Chris Murphy
2017-08-10 2:03 ` siranee.ja
2017-08-11 4:40 ` siranee.ja
2017-08-11 6:00 ` siranee.ja [this message]
2017-08-11 15:35 ` Chris Murphy
2017-08-12 2:38 ` siranee.ja
2017-08-12 4:31 ` Chris Murphy
2017-08-12 5:08 ` siranee.ja
2017-08-12 21:34 ` Chris Murphy
2017-08-12 22:41 ` Janos Toth F.
2017-08-12 23:07 ` Chris Murphy
2017-08-12 22:49 ` Hugo Mills
2017-08-12 23:14 ` Chris Murphy
2017-08-13 2:20 ` siranee.ja
2017-08-13 2:59 ` Chris Murphy
2017-08-13 3:40 ` siranee.ja
2017-08-13 4:34 ` Chris Murphy
2017-08-13 10:49 ` siranee.ja
2017-08-13 19:31 ` Chris Murphy
2017-08-13 6:20 ` A L
2017-08-13 10:52 ` siranee.ja
2017-08-13 12:51 ` A L
2017-08-13 14:00 ` siranee.ja
2017-08-13 21:31 ` A L
2017-08-14 1:57 ` siranee.ja
2017-08-13 19:50 ` Chris Murphy
2017-08-14 2:04 ` siranee.ja
2017-08-11 15:06 ` Chris Murphy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=13031.192.168.42.222.1502431206.squirrel@mail \
--to=siranee.ja@tpc.co.th \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@colorremedies.com \
--cc=voravat@tpcorp.co.th \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.