[OpenAFS] Does vos release/volume replication always initiates data transfer from RW site?

Ximeng Guan xmgu@royole.com
Mon, 6 Aug 2018 03:58:03 +0000


--_000_d7b2bc2f2368435a906c778b2f4c21cfroyolecom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello,

We have one cell covering two sites. The WAN bandwidth between the two site=
s is relatively low, so we use volume replication to speed up the access.

Those replicated volumes are often large in size. So replication to the rem=
ote site is an operation whose cost cannot be neglected.

Now with RW volumes at site A and their RO replication on servers at site B=
, we want to bring up a new file server at site B to balance the load. In o=
ther words we would like to "offload" a majority of the RO volumes from one=
 server to a different server at Site B, without touching their RW masters =
at Site A.

The standard way to do this is through "vos addsite" and "vos release" to c=
reate new RO copies on the new server at site B. When we try this it seems =
that the "vos release" always initiates a fresh full volume of data transfe=
r from the RW servers at site A to the new server at site B, even though th=
ere are RO copies at site B on other servers.

I wonder if there is a way to directly transfer those RO volumes btw server=
s at site B, without breaking the data integrity among the RO sites or affe=
cting the atomicity of "vos release".

Or maybe a more greedy way to ask the question is: Is it possible to make t=
he data transfer part of "vos release" smarter, by allowing it to select th=
e closest path to copy data btw file servers, according to a network distan=
ce either detected by itself, or provided by the administrator? For example=
, once it is found that no change has been made to the RW volume since the =
last release, a "vos release" to a new site will search all the RO copies i=
n the VLDB, find the closest RO site to the new server, and initiate data t=
ransfer from there, instead of from the RW site? Even if the RW volume has =
been changed, maybe it would still be much cheaper to copy the existing RO =
volume from a closest site first, and then broadcast the incremental change=
s from the RW site?

Thanks.


Ximeng (Simon) Guan

Royole Corporation

--_000_d7b2bc2f2368435a906c778b2f4c21cfroyolecom_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:DengXian;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@DengXian";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{mso-style-priority:99;
	mso-style-link:"Plain Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.PlainTextChar
	{mso-style-name:"Plain Text Char";
	mso-style-priority:99;
	mso-style-link:"Plain Text";
	font-family:"Calibri",sans-serif;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">Hello,<o:p></o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">We have one cell co=
vering two sites. The WAN bandwidth between the two sites is relatively low=
, so we use volume replication to speed up the access.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">Those replicated vo=
lumes are often large in size. So replication to the remote site is an oper=
ation whose cost cannot be neglected.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">Now with RW volumes=
 at site A and their RO replication on servers at site B, we want to bring =
up a new file server at site B to balance the load. In other words we would=
 like to &#8220;offload&#8221; a majority of the
 RO volumes from one server to a different server at Site B, without touchi=
ng their RW masters at Site A.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">The standard way to=
 do this is through &#8220;vos addsite&#8221; and &#8220;vos release&#8221;=
 to create new RO copies on the new server at site B. When we try this it s=
eems that the &#8220;vos release&#8221; always initiates a fresh full volum=
e
 of data transfer from the RW servers at site A to the new server at site B=
, even though there are RO copies at site B on other servers.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">I wonder if there i=
s a way to directly transfer those RO volumes btw servers at site B, withou=
t breaking the data integrity among the RO sites or affecting the atomicity=
 of &#8220;vos release&#8221;.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">Or maybe a more gre=
edy way to ask the question is: Is it possible to make the data transfer pa=
rt of &#8220;vos release&#8221; smarter, by allowing it to select the close=
st path to copy data btw file servers, according
 to a network distance either detected by itself, or provided by the admini=
strator? For example, once it is found that no change has been made to the =
RW volume since the last release, a &#8220;vos release&#8221; to a new site=
 will search all the RO copies in the VLDB,
 find the closest RO site to the new server, and initiate data transfer fro=
m there, instead of from the RW site? Even if the RW volume has been change=
d, maybe it would still be much cheaper to copy the existing RO volume from=
 a closest site first, and then
 broadcast the incremental changes from the RW site?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">Thanks. <o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoPlainText">Ximeng (Simon) Guan<o:p></o:p></p>
<p class=3D"MsoPlainText">Royole Corporation<o:p></o:p></p>
</div>
</body>
</html>

--_000_d7b2bc2f2368435a906c778b2f4c21cfroyolecom_--