| Welcome to the Zimbra :: Forums! | |
Welcome, if you would like to post a comment please register.
We also encourage you to explore all things Zimbra with our team and members of the community.
|  | | 
10-15-2010, 11:15 AM
| | | Help Migrating Zimbra from VM to Physical Hardware Hey all,
We currently have a zimbra open source edition server running on as a virtual machine. My employer would like us to migrate the server from a VM to the physical hardware (I.E. he wants us to somehow backup Zimbra and then re-install it on the same machine, but not as a VM).
I am currently trying to figure out the best way to go about doing this. I have 1TB of USB storage media that I can use to store files. I think it would be best if I could find a way to export all the users, inboxes, etc to the 1TB USB drive, install a fresh Zimbra system on the physical hardware, and then import the users, inboxes, etc into the freshly installed system.
Can anyone point me in the right direction to some tools/documents I might be able to use to accomplish this? I'm also open to any other suggestions for migrating the server to physical hardware. I looked at using Ghost 4 Linux, but I would prefer to do something with a fresh install of linux and zimbra because I did not set the current system up and am a little nervous about it's overall integrity.
Any help would be greatly appreciated.
Regards,
Justin | 
10-15-2010, 12:04 PM
| | | Quote:
Originally Posted by jwilliams@hometask.com Hey all,
We currently have a zimbra open source edition server running on as a virtual machine. My employer would like us to migrate the server from a VM to the physical hardware (I.E. he wants us to somehow backup Zimbra and then re-install it on the same machine, but not as a VM).
I am currently trying to figure out the best way to go about doing this. I have 1TB of USB storage media that I can use to store files. I think it would be best if I could find a way to export all the users, inboxes, etc to the 1TB USB drive, install a fresh Zimbra system on the physical hardware, and then import the users, inboxes, etc into the freshly installed system.
Can anyone point me in the right direction to some tools/documents I might be able to use to accomplish this? I'm also open to any other suggestions for migrating the server to physical hardware. I looked at using Ghost 4 Linux, but I would prefer to do something with a fresh install of linux and zimbra because I did not set the current system up and am a little nervous about it's overall integrity.
Any help would be greatly appreciated.
Regards,
Justin | If you have different physical hardware (server), the following tips may appropriate with your requirements : Moving ZCS to Another Server » Zimbra :: Blog
Another tips : ZCS-to-ZCS Migrations » Zimbra :: Blog
You may also use imapsync to sync between 2 Zimbra instance.
I'm personally would not recommended to copy existing data into USB storage for migration process, except for backup purpose. You may simply sync email between VM and new physical server. | 
10-19-2010, 04:28 PM
| | | Thanks For the Reply. Unfortunately, the server that currently hosts the VM is the same server we desire to install Zimbra on, so we can't use a typical migration strategy.
I have done some research and it appears that doing a backup of opt/zimbra, a reinstall of CentOS on the physical hardware, and then following the restore directions on the new system is the way to go.
My only concern now has to do with SSL. When I restore from the backed up system, will it import the previous SSL. If so, will this be a problem? If not, I know we can just re-key the old cert and install it.
Regards,
Justin
Last edited by jwilliams@hometask.com; 10-19-2010 at 04:29 PM..
Reason: typo
| 
10-19-2010, 11:04 PM
| | | Hi
I would do the following:
1. dump all partitions to a external disk
2. double check if the backups are working. ( make a test restore )
3. install CentOS and zimbra (same version, same settings )
4. stop zimbra ( zmcontrol stop) ( check if it is relay not running )
5. restore /opt from the backup
6. zmcontrol start
I don't see any problems with the certs. the certs are located in below
the /opt.
hope this helps
manuel | 
10-19-2010, 11:10 PM
| | Zimbra Consultant & Moderator | |
Posts: 20,313
| | Quote:
Originally Posted by jwilliams@hometask.com Thanks For the Reply. Unfortunately, the server that currently hosts the VM is the same server we desire to install Zimbra on, so we can't use a typical migration strategy.
I have done some research and it appears that doing a backup of opt/zimbra, a reinstall of CentOS on the physical hardware, and then following the restore directions on the new system is the way to go. | There should be no difference in the migration process, backup your /opt/zimbra directory somewhere safe the wipe the VM server and do your install and upgrade of CentOS. When that's working and has the same hostname etc as the old server run an instrall of the same version of Zimbra then copy the backup to the new server. Obviously you will have modified your DNS A & MX records at this point to reflect the new server, you might at this point want to run the install again to make sure that everything is OK. The instructions for migrating from one server to another do apply to your scenario with the obvious difference of it being the same hardware. Read the migration articles until your happy it will work, if you want to test it then restore it to a new VM in your current environment - test it until you're happy it works. One note, during the migration I'd suggest you block port 25 so you don't receive any mail until Zimbra is up and working to your satisfaction the reopen then port. Quote:
Originally Posted by jwilliams@hometask.com My only concern now has to do with SSL. When I restore from the backed up system, will it import the previous SSL. If so, will this be a problem? If not, I know we can just re-key the old cert and install it. | Answered in your other post but if these are the SSL certificates then they will be restored during the migration and youi can always regenerate them. If they're commercial then you can just re-import them and there should be no problems.
__________________
Regards
Bill
| 
10-20-2010, 06:49 AM
| | | As Bill said, the Zimbra server-to-server documentation specifically covers the scenario where an old server is being retired and a new server (hardware) must be deployed in its place, so I'm not sure why you've concluded that you can't take advantage of that?
Hope that helps,
Mark
__________________
___________________________________ L. Mark Stone, CIO "Uptime. All the time."
477 Congress Street | Portland, ME 04101-3431 | (207) 772-5678
proactive maintenance and monitoring | technology consulting
Zimbra groupware | EMR implementations | private cloud hosting
| 
10-21-2010, 09:18 AM
| | | Thanks for your help everyone. I built a test server last night and plan to run the the process before I try it on our production server.
Regarding blocking port 25 till things are done, what is the easiest way to do this? Can I do it in iptables?
Regards,
Justin | 
10-21-2010, 09:24 AM
| | Zimbra Consultant & Moderator | |
Posts: 20,313
| | Quote:
Originally Posted by jwilliams@hometask.com Regarding blocking port 25 till things are done, what is the easiest way to do this? Can I do it in iptables? | Obviously if there's a firewall in front of it you can do it there, if not then iptables on the Zimbra server should do what you need.
__________________
Regards
Bill
| 
10-21-2010, 03:31 PM
| | | Test Restore on Development Machine Problem: "An unknown error (mail.NO_SUCH_BLOB)" Hi All,
I followed the directions from Moving ZCS to Another Server » Zimbra :: Blog
on a test machine that I built. Aside from some permission problems in /opt/zimbra/log that zmfixperms did not correct, everything appeared to be fine.
However, I logged in to one of the accounts I created as a test and tried to read one of the test messages I had sent before. I received the following error: Quote:
An unknown error (mail.NO_SUCH_BLOB) has occurred.
method: SearchConvRequest
msg: No such blob: mailbox=4, item=274, change=304
code: mail.NO_SUCH_BLOB
detail: soap:Sender
trace: com.zimbra.cs.mailbox.MailServiceException: No such blob: mailbox=4, item=274, change=304 ExceptionId:btpool0-10://mail.gabesessler.com/service/soap/SearchConvRequest:1287674523756:eed90b589e813b8b Code:mail.NO_SUCH_BLOB at com.zimbra.cs.mailbox.MailServiceException.NO_SUCH _BLOB(MailServiceException.java:265) at com.zimbra.cs.mailbox.MailItem.getBlob(MailItem.ja va:970) at com.zimbra.cs.mailbox.MessageCache.fetchFromStore( MessageCache.java:224) at com.zimbra.cs.mailbox.MessageCache.getMimeMessage( MessageCache.java:160) at com.zimbra.cs.mailbox.Message.getMimeMessage(Messa ge.java:335) at com.zimbra.cs.mailbox.Message.getMimeMessage(Messa ge.java:316) at com.zimbra.cs.service.mail.ToXML.encodeMessageAsMP (ToXML.java:801) at com.zimbra.cs.service.mail.Search.addMessageHit(Se arch.java:359) at com.zimbra.cs.service.mail.SearchConv.putHits(Sear chConv.java:246) at com.zimbra.cs.service.mail.SearchConv.handle(Searc hConv.java:119) at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEng ine.java:420) at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:274) at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:158) at com.zimbra.soap.SoapServlet.doWork(SoapServlet.jav a:291) at com.zimbra.soap.SoapServlet.doPost(SoapServlet.jav a:212) at javax.servlet.http.HttpServlet.service(HttpServlet .java:727) at com.zimbra.cs.servlet.ZimbraServlet.service(Zimbra Servlet.java:181) at javax.servlet.http.HttpServlet.service(HttpServlet .java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(Ser vletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedCha in.doFilter(ServletHandler.java:1166) at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(Set HeaderFilter.java:79) at org.mortbay.jetty.servlet.ServletHandler$CachedCha in.doFilter(ServletHandler.java:1157) at org.mortbay.servlet.UserAgentFilter.doFilter(UserA gentFilter.java:81) at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter .java:132) at org.mortbay.jetty.servlet.ServletHandler$CachedCha in.doFilter(ServletHandler.java:1157) at org.mortbay.jetty.servlet.ServletHandler.handle(Se rvletHandler.java:388) at org.mortbay.jetty.security.SecurityHandler.handle( SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(Se ssionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(Co ntextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebA ppContext.java:418) at org.mortbay.jetty.handler.ContextHandlerCollection .handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerCollection.handle (HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(Ha ndlerWrapper.java:152) at org.mortbay.jetty.handler.rewrite.RewriteHandler.h andle(RewriteHandler.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(Ha ndlerWrapper.java:152) at org.mortbay.jetty.handler.DebugHandler.handle(Debu gHandler.java:77) at org.mortbay.jetty.handler.HandlerWrapper.handle(Ha ndlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(Htt pConnection.java:543) at org.mortbay.jetty.HttpConnection$RequestHandler.co ntent(HttpConnection.java:939) at org.mortbay.jetty.HttpParser.parseNext(HttpParser. java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpPa rser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnec tion.java:405) at org.mortbay.io.nio.SelectChannelEndPoint.run(Selec tChannelEndPoint.java:413) at org.mortbay.thread.BoundedThreadPool$PoolThread.ru n(BoundedThreadPool.java:451)
request:
Body: {
SearchConvRequest: {
_jsns: "urn:zimbraMail",
cid: "272",
fetch: "274",
html: 1,
limit: 250,
locale: {
_content: "en_US"
},
max: 100000,
offset: 0,
query: "in:inbox",
read: 1,
sortBy: "dateDesc",
tz: {
id: "America/Los_Angeles"
}
}
},
Header: {
context: {
_jsns: "urn:zimbra",
account: {
_content: "justin@gabesessler.com",
by: "name"
},
authToken: "(removed)",
notify: {
seq: 3
},
session: {
_content: 12,
id: 12
},
userAgent: {
name: "ZimbraWebClient - FF3.0 (Mac)",
version: "6.0.8_GA_2661"
}
}
}
| Does anyone know what might cause this or how to fix it? I need to be sure that old email is accessible before I can try this on our production machine.
Regards,
Justin | 
10-21-2010, 04:53 PM
| | | Hi Justin,
"No Such Blob" means the actual email file isn't accessible.
The file might be there but the permissions are such that Zimbra can't read it, or the file might not be there at all.
If you do as root "du -csh /opt/zimbra" on both servers, do you get the same numbers?
You can refine this to "du -csh /opt/zimbra/store" which is where the mailstore blob files live.
Note that both commands may take awhile to run.
Hope that helps,
Mark
__________________
___________________________________ L. Mark Stone, CIO "Uptime. All the time."
477 Congress Street | Portland, ME 04101-3431 | (207) 772-5678
proactive maintenance and monitoring | technology consulting
Zimbra groupware | EMR implementations | private cloud hosting
| | Thread Tools | Search this Thread | | | | | Display Modes | Linear Mode | | Why Join? Registering let's you ask questions, makes it easier to search, displays any files attached to posts, and notifies you about replies.  |