<div>I need help in clarifying exactly what MogileFS can do for me. <br><br>Basically I have an image hosting site. Currently I perform file storage through NFS. If someone can review what I have already below, and let me know if my site is an ideal candidate for MogileFS, that would be greatly appreciated!
<br><br>Here's how it's done in detail:<br><br>Server WS = web server<br>Server IMG1 = image server 1<br>Server IMG2 = image server 2<br>Server IMG3 = image server 3<br>Server IMG4 = image server 4<br>Server IMG5 = image server 5
<br><br>Uploaded images are stored using NFS. IMG1's image folder is mapped to WS's /www/site/images/img1/. Here's the chart:<br><br>Images for IMG1 are stored in /www/images/img1/ on WS.<br>Images for IMG2 are stored in /www/images/img2/ on WS.
<br>Images for IMG3 are stored in /www/images/img3/ on WS.<br>Images for IMG4 are stored in /www/images/img4/ on WS.<br>Images for IMG5 are stored in /www/images/img5/ on WS.<br><br>Using the above strategy, my PHP application doesn't need to know that the storage is off-server.
<br><br>To serve the images back to the user, instead of having it route from Client > WS > IMG1 > WS . client, I'm letting clients access these IMG servers directly, so that it becomes Client > IMG1 > Client.
<br><br>This is done by giving each IMG server its own Apache and URl. Here's the chart:<br><br>Server IMG1 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img1.mysite.com/" target="_blank">img1.mysite.com
</a><br>Server IMG2 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img2.mysite.com/" target="_blank">img2.mysite.com </a><br>Server IMG3 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img3.mysite.com/" target="_blank">
img3.mysite.com</a><br>Server IMG4 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img4.mysite.com/" target="_blank">img4.mysite.com</a><br>Server IMG5 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img5.mysite.com/" target="_blank">
img5.mysite.com</a><br><br>The problem is solved. However there are some drawbacks:</div>
<p>When images are overloaded, it becomes really </p>
<p>I need help in clarifying exactly what MogileFS can do for me. </p>
<p>Basically I have an image hosting site. Currently I perform file storage through NFS. If someone can review what I have already below, and let me know if my site is an ideal candidate for MogileFS, that would be greatly appreciated!
</p>
<p>Here's how it's done in detail:</p>
<p>Server WS = web server<br>Server IMG1 = image server 1<br>Server IMG2 = image server 2<br>Server IMG3 = image server 3<br>Server IMG4 = image server 4<br>Server IMG5 = image server 5</p>
<p>Uploaded images are stored using NFS. IMG1's image folder is mapped to WS's /www/site/images/img1/. Here's the chart:</p>
<p>Images for IMG1 are stored in /www/images/img1/ on WS.<br>Images for IMG2 are stored in /www/images/img2/ on WS.<br>Images for IMG3 are stored in /www/images/img3/ on WS.<br>Images for IMG4 are stored in /www/images/img4/ on WS.
<br>Images for IMG5 are stored in /www/images/img5/ on WS.</p>
<p>Using the above strategy, my PHP application doesn't need to know that the storage is off-server. </p>
<p>To serve the images back to the user, instead of having it route from Client > WS > IMG1 > WS . client, I'm letting clients access these IMG servers directly, so that it becomes Client > IMG1 > Client.
</p>
<p>This is done by giving each IMG server its own Apache and URl. Here's the chart:</p>
<p>Server IMG1 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img1.mysite.com/" target="_blank">img1.mysite.com</a><br>Server IMG2 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img2.mysite.com/" target="_blank">
img2.mysite.com</a><br>Server IMG3 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img3.mysite.com/" target="_blank">img3.mysite.com</a><br>Server IMG4 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img4.mysite.com/" target="_blank">
img4.mysite.com</a><br>Server IMG5 = <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://img5.mysite.com/" target="_blank">img5.mysite.com</a></p>
<div>The problem is solved. However there are some drawbacks:</div>
<ul>
<li>If an IMG server becomes full and I need to split the data, it becomes painful. Imagine having to copy arbitrary amounts of data from IMG1, then splitting that to IMG1 and IMG6. Then, you have to update the database so it knows of the split.
</li>
<li>Mounting NFS volumes for every single web server is a hassle.</li></ul>
<p>How can MogileFS help here?</p>