From owner-freebsd-questions@FreeBSD.ORG Fri Jan 21 14:12:10 2011 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCFA4106564A for ; Fri, 21 Jan 2011 14:12:10 +0000 (UTC) (envelope-from yurius.r@yandex.ru) Received: from forward1.mail.yandex.net (forward1.mail.yandex.net [77.88.46.6]) by mx1.freebsd.org (Postfix) with ESMTP id E18F88FC18 for ; Fri, 21 Jan 2011 14:12:09 +0000 (UTC) Received: from web50.yandex.ru (web50.yandex.ru [77.88.47.156]) by forward1.mail.yandex.net (Yandex) with ESMTP id D8C3F69E8D8F for ; Fri, 21 Jan 2011 16:54:16 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1295618056; bh=qpWRxpKAnjrDBJu3dDeRh60PMvLwWnkK1GsrHJK2GSo=; h=From:To:Subject:MIME-Version:Message-Id:Date: Content-Transfer-Encoding:Content-Type; b=MLTOXokMfdzOHzr6lirmf/tQKOa6Hx2UX5dw9qVbiKARa8/jx6KkoAlpEzUDMldoy mZ9q9z3g29Q4XOvSsr5PtKccWRLJlm1cmeIeQqMSpAIvTbUWxWjUHyIwg5G5N0ZER5 A88wFiT5RG+IkgGMk4ORrhRlqCYeVSOdkZ3UbNe4= Received: from localhost (localhost.localdomain [127.0.0.1]) by web50.yandex.ru (Yandex) with ESMTP id CF114D48062 for ; Fri, 21 Jan 2011 16:54:16 +0300 (MSK) Received: from [194.50.169.22] ([194.50.169.22]) by mail.yandex.ru with HTTP; Fri, 21 Jan 2011 16:54:16 +0300 From: Radomskiy Yuriy Envelope-From: yurius.r@yandex.ru To: freebsd-questions@freebsd.org MIME-Version: 1.0 Message-Id: <998111295618056@web50.yandex.ru> Date: Fri, 21 Jan 2011 15:54:16 +0200 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain Subject: upgrading a dozen of servers from 7.0 to 8.1 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Jan 2011 14:12:10 -0000 Hello! I have around 15 servers running FreeBSD 7.0 across the country. I would like to upgrade them to 7.3 or even 8.1 using binary updates. They are primary mail servers all running apache-2.0 + php5-5.2.10, mysql-server-5.1, exim-4.69, dovecot-1.1 They are almost identical - they were identical a couple of years ago, but now they have some minor differences (soft, settings, scripts) Hardware is all the same. All the servers are in production. The steps I have to do and the questions about them i have: 1. update all soft to current versions (including change of config files) apache - goto v2.2 php - goto v5.3 mysql - stick with 5.1 exim - goto 4.73 dovecot - goto 1.2.16 q's: how can upgrading to apache 2.2 + php5.3 be done with minimal downtime? can i upgrade or is it better to rebuild it from the scratch (because of major version changes)? 2. do a binary upgrade of OS according to handbook http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html 3. rebuil all the software again portupgrade -af I have two scenarios for this: I. 1. restore a server from a backup on a dedicated machine. 2. do all the upgrade procedures on this dedicated server. 3. clone this upgraded server to the original server. 4. Repeat this procedure for each server. Advantages: - almost garanteed reliability. Disadvantages: - need to sync data from the last backup with current one. - takes very long time. II. 1. restore one server from backup on a dedicated machine. 2. do all the upgrade procedures on this restored server. 3. write some sort of script that does the upgrate (or makes it easier). 4. upgrate all the servers (since they are almost identical) one at a time. Advantages: - should be faster Disadvantages: - something might go wrong on some particular server(s). Which method would you sudgest? Is there any other method or maybe enhancements ones to do the upgrade? How can it be used that all servers are almost identical? How can the process be automated? Should i be looking into building binary packages of required software and redistributing them to the servers instead of building them from the ports tree (as it is done now)? -- Yuriy.