‘壹’ 如何进行服务器转移
发表时间:2011/8/10 佚名 来源:TechTarget中国关键字:P2V虚拟化迁移关注虚拟化的人都做过或者至少知道P2V(物理到虚拟)迁移过程是将物理服务器转换成虚拟机。不过如果你需要进行V2P(虚拟到物理)迁移将虚拟机退回成物理服务器时,该怎么办呢?P2V过程非常简单直接,并且有许多免费和付费的产品来做。 关注虚拟化的人都做过或者至少知道P2V(物理到虚拟)迁移过程是将物理服务器转换成虚拟机。不过如果你需要进行V2P(虚拟到物理)迁移将虚拟机退回成物理服务器时,该怎么办呢?P2V过程非常简单直接,并且有许多免费和付费的产品来做。然而,V2P过程不受许多工具支持,并且比P2V要复杂得多。 你可能疑惑为什么要将虚拟机转换回物理服务器。多数情况下,这样做的原因在于应用厂商不支持他们运行在虚拟机上的产品。目前,几乎所有的厂商都支持虚拟化,但是通常在他们的支持条款里都有关于支持的提醒。 如果一家厂商解决运行在虚拟环境里的应用的问题,这家厂商可能要求你在解决问题之前在物理服务器上复制这个问题。为什么?因为技术人员想要确定虚拟化层不是原因或者是导致问题的因素,消除这种疑问的唯一方式是通过在物理服务器上复制这个问题。下面列出的是一些主要厂商的典型支持条款: IBM/Lotus: 当用户召集标准使用率或者与缺陷相关的服务请求,并表明他们运行在VMware ESX Server上,IBM Technical Support将竭尽全力解决问题。我们假定这个问题本身或在VMware环境很常见,如果有迹象表明问题与VMware环境有关,我们只需要用户(或者VMware SupportLine团队)重新创建这个问题。 Microsoft: 运行在非微软硬件虚拟化软件的第一级支持的微软用户,微软又没有与这家厂商建立包含虚拟化解决方案的支持关系,微软将使用运行在非微软硬件虚拟化软件商的微软软件调查潜在的问题。作为调查的一部分,微软可能需要用户从微软硬件虚拟化软件复制这个问题。这可以在Windows Server 2008(包含Hyper-V)上进行,这个真实的硬件平台在上面安装了Windows操作系统。 Cognos: Cognos Support会解决任何关于IBM Cognos产品的问题。在虚拟环境使用IBM Cognos的用户会遇到问题,Cognos用户不需要在这个操作环境重新创建和解决每个问题。不过,Cognos保留要求用户诊断操作系统环境的某些问题。只有在有理由相信虚拟环境是导致问题的根源时,Cognos才做此要求。 Computer Associates: 虽然CA不坚持客户在联系支持前重新创建每个问题,我们保留要求客户诊断和解决某些问题的权利。我们有理由相信问题直接与VMware有关时才会这样做。 从VMware这些支持条款可以看出,所有厂商都保留向你要求在非虚拟环境里重新创建问题的权利。不过多数情况下不会发生,因为多数应用不知道虚拟与物理硬件之间的差别。取决于问题类型,厂商应该意识到这与虚拟化层无关。不过有一种类型的问题,虚拟化层可能就是原因,那就是性能问题。 在本文的下半部分中,我们将说明导致性能问题的原因及解决方案。 在本文的上半部分中,我们介绍了成功实施P2V迁移需要的准备工作及系统命名法等。本部分介绍卷影拷贝服务、Window域控制器等。 理解卷影拷贝服务 如果你用过一些工具,可以转换正在运行的Windows系统,它们可能使用了卷影拷贝服务来实施迁移。在这种情况下,在转变的过程中系统的镜像将被快照下来。一旦转换完成,你就可以关闭系统。需要记住的是,在迁移之前和你关闭原来的系统的这段时间只在物理系统上发生。新创建的虚拟系统就这时已经过时。这对于域控制器(下面将提到)非常重要,同时对任何传递的数据和日志同样重要。 在正式使用之前进行迁移测试 P2V或者V2V的迁移的概念一般使系统的整个功能保持完整。然而,对任何被迁移的系统,在迁移后,在其发挥其正常的角色前,应当进行一系列的检查。这有一些方法来检测新迁移的虚拟机: ·在新迁移的虚拟机中的清单中去掉所有不必要的硬件。特别的,如果是从物理主机上迁移,你也许有USB接口、软件驱动器或者音频适配器等也许不需要或者在虚拟主机上不支持等硬件。 ·不需要连接到配置里的网络适配器就能在虚拟主机上引导系统。这是在VMware ESX中断开软件,该选项通过选“connect at power-on”选项实现。 ·如果可以,关键应用在离线的环境下不能运行良好,那么就停止。 ·迁移后多次重启虚拟机以确保所有的日志清空,在接下来的引导中不会产生问题。 ·当网络适配器处于软件断开的状态,确保网络配置在虚拟机环境新的地方是正确的,虚拟迁移可能从硬件清单去掉了先前的接口以及伴随接口的网络配置。 ·确保查看网络延伸配置,例如DNS 服务器的顺序、DNS的后缀,和其它因新的位置而需要改变的网络配置项目。同时如果适当也利用这段时间修改或准备这个系统之外任何变动,包括DNS的接入。 当运行了上述一系列的测试,客户虚拟机关闭后,重新连接网络适配器到虚拟机。在做完这一系列的检查后,在你试图使用迁移系统时,通过把所有的小问题排除后 ,第一次打开虚拟机节省了宝贵的时间。 Window域控制器需要不同的处理 从一个物理盒子把一个域控制器迁移到一个虚拟实例需要特殊的考虑,一个好的实现状态需要不同的处理。主要的原因是这个问题围绕着机器如何放到新的虚拟环境。许多管理员想最小化域控制器的停机时间,所以你需要倾向于一个可以优化在线使用的工具。问题在于如果域控制器一直在运行,每一个时刻迟早在增加域的内部的计算,这主要因为,如果系统在运行时,P2V迁移工具执行迁移,一旦虚拟系统在线,它将导致Active Directory数据本地的潜在的损坏,以及其他的域控制器和机器计数。 在这篇文章里,我将要提供两种好的转换域控制器的方法。最安全的方法是在虚拟环境下重建一个,把这个系统迁移到这个域中做为一个新的域。当它做为一个新的域控制器引入了一个新域,确保全局目录特征和其他角色被合适的转移。一旦它们在线,你可以降级或者从该域中移除该系统。 另一个方法也同样安全,但需要一些停机时间。当你的VMware主机上有旧的ESX版本的情况下,你在虚拟机上执行复制任务,这个复制任务可以在断电的状态下拷贝它到一个新的主机上,断电的状态非常重要,因为在这种状态下域控制器不会摆脱和其余的域同步的状态。 选择正确的迁移策略 取决于你迁移物理机器到虚拟机的必要参数,你必须决定正确的策略来维持你需要的正常运行时间、许可证参数,选择一个不会导致问题的路径。对于系统或连接到该系统的用户保持对其迁移的透明性。
‘贰’ 如何通过git把本地的代码上传到服务器
注意:安装的前提条件是配置好Git的相关环境或者安装好git.exe,此处不再重点提及
上传的步骤:(本文采用git 命令界面进行操作)
( git config --global user.email "[email protected]"
git config --global user.name "Your Name")实现登陆
1.进入本地的项目目录,右键“Git Bash here”,调出git命令行界面,然后输入
[plain] view plain 在CODE上查看代码片派生到我的代码片
git init
2.就是将目录下的所有文件上传,也可以将“.”换成具体的文件名
[plain] view plain 在CODE上查看代码片派生到我的代码片
git add .
3.将项目提交到gitHub
[html] view plain 在CODE上查看代码片派生到我的代码片
git commit -m "注释语句"
4.在github上创建新的repository
5.点击 “Create repository”跳转到一个连接,如下红色圈获取到本项目的github地址
6.将本地的代码关联到github上
[html] view plain 在CODE上查看代码片派生到我的代码片
git remote add origin 项目的github地址
7.上传代码到github之前需要先pull
[plain] view plain 在CODE上查看代码片派生到我的代码片
git pull origin master
8.上传代码到远程仓库
[plain] view plain 在CODE上查看代码片派生到我的代码片
git push -u origin master
之后输入账号,密码,上传到github
‘叁’ 如何将SQL Server数据库迁移到新服务器中
移动到新路径我们希望将这些数据库文件移动到一个新路径,键入新路径就可以。本文我们移动到下面的路径:D: SQLDATADatabase_Name_Here.mdf D:SQLLogsDatabase_Name_Here_1.ldf进度现在可以单击确定按钮,开始恢复数据库。成功恢复你已经成功恢复移动完成数据库文件。证据现在你已经成功恢复移动完成数据库文件——更多证据。新查询现在让我们介绍我喜欢使用的方法,该方法省去了所有选择和单击。你可肢郑以使用一条TSQL Restore移动语句完成同样的任务。使用T—SQL方法移动数据库让我们从打开SQL Server管理工具开始,然后单击新查询按钮。逻辑名称第一步需要运行下面的查询:Restore FILELISTONLY FROM DISK='d:Business_Data.bak' 利用该查询可以找到需要恢复到新路径的数据库和日志文件的逻辑名称。恢复到新路径在获得了逻辑名之后,我们可以使用下面的查闭并询将历态颂数据库恢复到一个新位置。RESTOREDATABASEBusiness_Data_TSQLFROM DISK='d:Business_Data.bak'WITHMOVE 'Business_Data' TO 'D:TSQLBusiness_Data.mdf', MOVE 'Business_Data_log' TO 'D:TSQLBusiness_Data_log.ldf' 该语句将用来恢复数据库到一个新路径。完成百分比你可以看到Restore FileListOnly TSQL语句中使用的逻辑名和物理名。如果是一个较大的数据库为了查看完成进度,还可以添加状态语句如下所示:RESTOREDATABASEBusiness_Data_TSQLFROM DISK='d:Business_Data.bak'WITHMOVE 'Business_Data' TO 'D:TSQLBusiness_Data.mdf', MOVE 'Business_Data_log' TO 'D:TSQLBusiness_Data_log.ldf', STATS=5 本文中,我们介绍了完成的数据库备份恢复方法。
‘肆’ 怎样使用git将本地代码上传到服务器
注册账户以及创建仓库
要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。步骤如下:
打开https://github.com直接在首页上注册
2)上传到github
$ git push origin master
git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。
注:首次提交,先git pull下,修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件。
大功告成,现在你知道如何将本地的项目提交到github上了。
gitignore文件
.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。
Git命令
查看、添加、提交、删除、找回,重置修改文件
git help <command> # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- <file> # 抛弃工作区修改git co . # 抛弃工作区修改git add <file> # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区git rm <file> # 从版本库中删除文件git rm <file> --cached # 从版本库中删除文件,但不删除文件git reset <file> # 从暂存区恢复到工作文件git reset -- . # 从暂存区恢复到工作文件git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做git ci -am "some comments"git ci --amend # 修改最后一次提交记录git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象git revert HEAD # 恢复最后一次提交的状态
查看文件diff
git diff <file> # 比较当前文件和暂存区文件差异 git diffgit diff <id1><id2> # 比较两次提交之间的差异git diff <branch1>..<branch2> # 在两个分支之间比较git diff --staged # 比较暂存区和版本库差异git diff --cached # 比较暂存区和版本库差异git diff --stat # 仅仅比较统计信息
查看提交记录
git log git log <file> # 查看该文件每次提交记录git log -p <file> # 查看每次详细修改内容的diffgit log -p -2 # 查看最近两次详细修改内容的diffgit log --stat #查看提交统计信息
tig
Mac上可以使用tig代替diff和log,brew install tig
Git 本地分支管理
查看、切换、创建和删除分支
git br -r # 查看远程分支git br <new_branch> # 创建新的分支git br -v # 查看各个分支最后提交信息git br --merged # 查看已经被合并到当前分支的分支git br --no-merged # 查看尚未被合并到当前分支的分支git co <branch> # 切换到某个分支git co -b <new_branch> # 创建新的分支,并且切换过去git co -b <new_branch> <branch> # 基于branch创建新的new_branchgit co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支git br -d <branch> # 删除某个分支git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
分支合并和rebase
git merge <branch> # 将branch分支合并到当前分支git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>
Git补丁管理(方便在多台机器上开发同步时用)
git diff > ../sync.patch # 生成补丁git apply ../sync.patch # 打补丁git apply --check ../sync.patch #测试补丁能否成功
Git暂存管理
git stash # 暂存git stash list # 列所有stashgit stash apply # 恢复暂存的内容git stash drop # 删除暂存区Git远程分支管理
git pull # 抓取远程仓库所有分支更新并合并到本地git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并git fetch origin # 抓取远程仓库更新git merge origin/master # 将远程主分支合并到本地当前分支git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上
git push # push所有分支
git push origin master # 将本地主分支推到远程主分支git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)git push origin <local_branch> # 创建远程分支, origin是远程仓库名git push origin <local_branch>:<remote_branch> # 创建远程分支git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支
Git远程仓库管理
git remote -v # 查看远程服务器地址和仓库名称git remote show origin # 查看远程服务器仓库状态git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库
创建远程仓库
git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址git push -u origin master # 客户端首次提交git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且trackgit remote set-head origin master # 设置远程仓库的HEAD指向master分支
也可以命令设置跟踪远程库和本地库
git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop此文章属转载,原文地址:http://1ke.co/course/194另附: 解决 在使用git 对源代码进行push到gitHub时可能会出错,error: failed to push some refs to git。出现错误的主要原因是github中的README.md文件不在本地代码目录中可以通过如下命令进行github与本地代码合并: git pull --rebase origin master重新执行之前的git push 命令,成功!
‘伍’ 怎样把代码上传到服务器
首先你必须有服务器的管理权限,然后通过一些上传工具(比如FTP),通过用户名、密码、IP地址(含端口),进行登录,然后进行上传修改的文件(进行覆盖),记住更新时注意先备份。
‘陆’ 如何做SVN迁移
SVN迁移可能有很多原因, 可能是我们想换Repository目录, 或者是想换一台机器, 等等.
SVN迁移很容易做, 按照下面步骤就可以:
1. 将原来的Repository导出羡核余为一个文件mpfile
> svnadmin mp path/to/old-repo > mpfile
2. 创建新的Repository, 创建方法可以参考 Windows 平台安装Subversion server
3. 将mpfile导入到新的Repository
> svnadmin load path/to/new-repo < mpfile
4. 检查新的Repository的conf/目录下的配置文件, 检查hooks/目录下的构子程序等等...
本机SVN的快速迁移方法:(感谢R2的提示)
svnadmin hot old_rep_path new_rep_path
-----------------------------------------------------
两台服务器,进行SVN的迁移:
系统平台:windows server 2003
版本库:test
源服务器:192.168.1.14
目标服务器:192.168.1.12
源SVN版本库的path: D:\svn\test
要迁移到的path: E:\svn\test
第一种方法:(推荐)
首先说明:这个目标服务器上的SVN是可以用,本文中只是将它们的版本库进行
迁移。
1.停止http服务,本文中用的是apache (源服务器)(目标服务器)
2.cd C:\Program Files\Subversion\bin(Subversion的氏察安装目录)(源服务器)
3.执行:svnadmin mp D:\svn\test >D:\svn\test\test.mp(源服务器)
4. 在E盘中建立一个同名的test的文件夹(目标服务器)
5.cd C:\Program Files\Subversion\bin(目标服务器)
6.svnadmin create E:\svn\test (目标服务器)
7. 测试此test版本库是否可以用,如果可以用。再做下面的操作(目标服务器)
《要把在源服务器上导出的test.mp文件目标服务器上》
8.Svnadmin load E:\svn\test < c:\svn\test\test.mp (目标服务器。这个只是将源服务器上导出的版本库,导入兄滚到现在的服务器上。)
9. 修改http配置文件和修改权限,也可以将原来的权限文件直接到新的版本库中。(目标服务器)
第二种方法:
1.停止http服务,我用的是apache
2.把D:\svn\test下面的所有的文件到192.168.1.12的E:\svn\test
3. 修改apache中的文件路径,写入新的文件路径
4.打开http服务,但是这种做法的条件是:SVN旧版本库的操作环境系统和新版本操作环境系统相同,而且SVN的版本相同。
5.在本地复制的版本库,右键---TortoiseSVN --- Relocate,在弹出的框框内,重新输入版本库的ip地址。
‘柒’ 如何将应用迁移到另一台服务器
其实这只是一个简单的克隆,数据库位置不变,应用服务器改变。
我建议的做法是:
1。备份原有系统。
2。安装克隆所需的补丁,包含特定操作系统的补丁。
3。在新的应用服务器上建立相关的组和用户,并拷贝原有应用的三个目录到新机器的相应位置。主要为 applprod, applcomn ,applora
4。启动原来系统的数据库和监听,注意应用不要启动。
5。在新的应用机器上运行 perl adpreclone.pl appsTier,注意回答正确各个选项的值,主要是数据库服务器的主机名和新应用服务器的主机名。这实际上是一个克隆过程。
6。如果上述步骤顺利结束,便可以在新的应用服务器上打开erp登录界面了。
7。至于以后的工作,可能涉及到修改并发管理器里面的程序定义等内容,可以在管理界面种新加一个安装节点,然后重启应用就可以。
8,对于其他网页问题,主要参考数据库连接的dbc文件,以及 system profile 文件,具体问题可以参照metalink的文档,参见metalink上的文档230672.1 以及216664.1,165195.1。
‘捌’ 如何在mac系统下将github上的代码拉取到我自己的服务器上
以前一直听说过Github,但是自己一直不会用。最近不是太忙,于是想捣鼓捣鼓Github,没想到用了将近3个小时,才在Mac上配置成功。
首先简单介绍一下Git和Github
集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
分布式版本控制系统( Distributed Version Control System,简称 DVCS )。在这类系统中,像 Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。
GitHub是一个用于使用Git版本控制系统的项目的基于互联网的存取服务。它是由GitHub公司(先前被称作用Logical Awesome)的开发者Chris Wanstrath, PJ Hyett, 和 Tom Preston-Werner 使用Ruby on Rails写成的。GitHub同时提供商业账户和为开源项目提供的免费账户。根据在2009年的Git用户调查,GitHub是最流行的Git存取站点。
它提供了像 feeds,followers 和显示开发者们怎样在他们的版本库的版本上工作的网络图表。
git是一个版本控制工具
github是一个用git做版本控制的项目托管平台。
1、下载,安装Git,注册GitHub;
从google code上可以获的Mac OS的dmg安装文件
下载地址:htt p:/ /git-osx-installer.googleco de.c om/files/git-1.7.12-intel-universal-snow-leopard.d mg
安装没有什么好说的,打开.dmg文件,然后运行.pkg文件,一步一步往后装即可。git 会被安装到/usr/local/git/bin 目录下。
注册GitHub同样非常简单,选择免费的开源账户类型,按部就班走流程即可。
(注意:Git没有图形界面,Git won't add an icon to your dock, it's not that sort of application.)
这一步骤,可以参考官方文档。链接:htt p s:/ /help.gith ub.c om/articles/set-up-git
2、配置Git(在这步花了好长时间)
首先在终端进入.ssh目录。如果你顺利进入了很好。应该是这样
$
cd ~/.ssh
$
ls //如果目录下已有文件,建立一个备份文件夹,把原有文件备份进去
$
ssh-keygen -t rsa -C "你的邮箱@xxx.com" //之后一路回车即可
但是我配置的时候一直提示 “no such file or directory”
在stackoverflow上找到了答案。
执行:mkdir ~/.ssh 就好了。
‘玖’ 如何将旧域服务器迁移新域服务器
关于更换或者迁移域服务器:关于域服务器迁移的请教我通过部署一个简单的域管理公司40台左右的机器。域的作用主要是通过域用户来管理客户端,回收大部分的权限,使客户端系统非常稳定!整个域系统已经用了快4年了。另 外域服务器还兼任文件服务器,授权和设置了共享文件目录,让客户端可以通过这些共享目录交流和保存信息。现在公司购置了新的机器,需要将现在旧的域服务器迁移到这台新机上,旧的机器另有用途,我在考虑如何做才能让客户端受到的影响最小!先讲一下我现在的网络系统架构:
ip段:192.168.76.0 255.255.255.0
DNS:192.168.76.21
DC(old):192.168.76.21我想的迁移办法是:
1.先在新机上装好dc(new):192.168.76.31
2.在dc(new)上设置dns指向192.168.76.21,然后作为DC(old)的额外域建立域,将dc(new)的域信息复制过来,然后配置dc(new)的dns中的ad zone,将dc(old)的dns资料也
复制过来,使dc(new)完全成为dc(old)的冗余备份!
3.将dc(old)的域正常卸载,让dc(new)承担起域的管理以上只是我以现有知识的设计方案,还没有实际实践,所以想请教几个问题:
1.dc(old)正常卸载后,dc(new)是否会自动管理起整个域?还需要什么后续的步骤吗?
2.另一个头痛的问题是如何使原客户端的dns指向新的dns,我想将dc(old)从网络下线后
,直接修改dc(new)的ip为dc(old)的ip,但是觉得会有问题,不知道是否可行,或者有其他更好的办法。否则我还是要修改40多台客户端的dns指向新的dc(new)!
回答: 1.这里要澄清一个问题,所有dc如果获得了完全复制,那么它们上面的数据库是完全同步的,这个通过过程是后台自动完成的,不需要人为干预。如果您的dns选择了与ad同步,那么dns的同步也是自动的。那么在新的dc作为additional dc添加进来并获得完全同步后,您所需要做的动作是,将原有primary dc所承担的角色转移过来,比如5个om,gc,如果有多站点,还有istg。注意是transfer,而不是seize。等待dc的状态稳定后,降级原来的primary dc就好了。
相关的资料请参考:
http://support.microsoft.com/default.aspx?scid=kb;cn;223346
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;255690
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;324801
http://support.microsoft.com/default.aspx?scid=kb;en-us;255504
2.更改dc ip的想法是可行的。但您要注意更改dns中的srv记录,更改完成后,要注意ad中的各事件日志,确保ad的正常运作。需要提到一点的是,整个操作需要有个过程,最好能够持续1、2天,分步骤实施,实施之间最好能够在测试环境中测试后,并对现有dc进行备份后,再行动作!关于dns client的配置问题,这里您可以看一个kb
http://support.microsoft.com/default.aspx?scid=kb;en-us;825036
最关键的一个地方就是primary dns互相指向,否则容易导致dns解析的问题,从而客户端、dc复制都有可能出现问题。
‘拾’ 怎么把数据转移到服务器
如果您基于更高的性能、更灵活的扩展或供应商替换要求,您可能需要迁移现有的在线项目。因此,您需要解决的因素包括现有的数据、结构、配置等。借助必要的技术、适当的规划和特定软件,您只需将所需的数据传送到新服务器。数据迁移过程的复杂性与项目的复杂性和规模密切相关。作为一个值得信赖的香港服务器租用托管服务提供商,基于Web的互联迷你系列将为您简要介绍在服务器数据迁移期间要注意的事项。
将数据迁移到新的服务器之前 - 合理规划
选择正确的目标服务器是第一步。例如,如果计划更改网站/应用程序,则需要执行其他任务,以便在重新定位期间不必处理这些任务。无论是将数据从一个服务器(例如香港服务器)迁移到另一个服务器,还是新的服务器结构是基于集群的或涉及多个不同的系统,它也是不同的。
更改服务器体系结构时,必须更改配置,不管是不同的操作系统、不同的软件版本还是不同的控制面板。即使只是切换到功能更强大的同类型服务器,仍然需要相应地配置应用程序和服务,以便能够利用额外内存、改进的cpu性能或增加内存容量。
请注意,无论是选择简单的性能升级还是完全更改服务器体系结构,都应提前为移动设备创建最佳条件。这些因素包括足够的存储空间和计算能力、30%到40%的缓冲区或详细的扩展计划以及快速的网络连接。
当数据迁移到另一台服务器?
如果您租用服务器资源,您可能没有充分考虑托管服务的成本。供应商提供的各种软件包在内容提供方面有所不同,即可用性、数据安全性和支持。因此,有必要在选择之前比较不同的软件包。迁移数据的另一个原因可能是您希望减轻it部门的压力。在这种情况下,it托管服务解决方案将是一个不错的选择。它不仅承载服务器,还由提供者维护和更新。例如,使用稳定的网络互连香港服务器租赁服务,您可以选择不同级别的技术服务包来简化您的IT管理工作。
为即将进行的迁移组织当前服务器
为了使新服务器的配置和引入尽可能简单,有必要整理当前使用的服务器。因此,数据迁移是删除任何冗余或过期页面、备份、电子邮件和用户帐户的最佳时间。这意味着您可以最小化传输的数据量,另一方面,您可以从目标系统上所需的资源中获得更多的价值。
此外,还应该制定关闭活动服务器进程随后因数据损失而不会出现并发症,精确的计划。指定时间应停止对文件,脚本和配置做任何改动,并尽可能暂时阻止对数据库的访问。您也可以稍后更新数据库。在大多数情况下,数据传输通过一个完整的服务器备份进行。
服务器的数据迁移是如何工作的?
迁移数据最简单的方法是使用实际状态的一对一备份副本。在进行必要的配置和调整之前,将其转移到新的服务器硬件,然后可以测试其是否有效。最后,您可以调整dns或ip设置,这将允许您在新系统上实时启动Web项目。虽然这种方法通常需要系统管理员的支持,但是很容易计划和执行。但是,这意味着当前服务器将完全暂停,在数据迁移期间,您将无法访问或使用您的网站。
如果提供需要连续数据库访问的服务,则需要一个混合迁移解决方案来保持当前服务器处于活动状态。在这种情况下,应将服务器上的当前数据库声明为“master”,然后在配置完成后将新数据库从属为“slave”。这使得两个应用程序能够实时同步。如果两个数据库处于相同状态,请反转角色,以便新数据库成为主数据库。这意味着您的项目可以在数据迁移期间继续可用。
什么样的资源可以用来将数据迁移到新的服务器?
有几种工具和服务可以简化服务器迁移。例如,如果只想移动数据而不调整操作系统或其他软件,则不应放弃控制面板。这些服务器管理器可以帮助您创建数据备份,然后将它们迁移到新服务器。所需的配置工作负载是最小的。像wordpress这样的内容管理系统也可以使用简单的ftp和备份应用程序进行传输,并且通常提供自己的插件来迁移链接的数据库。这些过程大多是自动化的。
对于更复杂的项目,root权限总是会带来好处:使用ssh,您可以通过相应的命令行将完整的数据库(包括所有权限和用户数据)转移到新服务器。例如,可以使用mysql转储向目标系统发送mysql数据库的副本。作为微软的sql服务器用户,您甚至可以使用内置功能来实现这一点。
但是,您也可以外包服务器数据的迁移:许多托管服务提供商不仅为客户提供用于手动服务器数据传输的特定软件,而且还为数据迁移提供了积极的支持。此外,还有一些服务专门用于Web项目的迁移和全天候服务的可用性-无论是从一个共享服务器转移到另一个共享服务器,还是要替换提供者,还是计划切换到服务器集群。
服务器迁移期间可能会出现什么问题?
需要连续稳定的网络连接才能根据需要传输服务器数据。因此,在服务器迁移期间,连接问题是最常见的错误源。如果连接断开,它可以完全终止传输,这意味着它从一开始就重新启动。然而,短期连接问题通常不会被注意到,也不会导致进程终止。但是,在某些情况下,并非所有数据都可以到达目标服务器,这反过来会影响迁移应用程序的功能。
但是,如果有些文件不能成功地转移到新服务器上,可能有几个原因。尤其是在改变操作系统而不再支持某些文件格式、编程语言等时,会出现兼容性问题。此外,在源计算机和目标计算机上不同的访问权限或密码保护会导致并发症。此外,如果目标系统没有所需的磁盘空间或dns条目没有正确更改,数据迁移可能导致错误。
需要检查服务器数据迁移。
移动到新的服务器的项目可能是一个复杂和繁琐的过程,这取决于项目规模和新目标的体系结构。这就是为什么它应该精心策划和执行良好。下表总结了有关服务器迁移的最重要的问题。