如何免费备份LINODE系统,每月立省5美元,可自定永久还原点

如何免费备份LINODE系统,每月立省5美元,可自定永久还原点,第1张

LINODE的VPS由于性价比极高,安全、稳定、客服响应效率,总之各种好,受到许多站长一族的青睐。LINODE拥有付费备份功能,很是好用,但是付费的不一定是最好的,因为是整个VPS的备份,要还原必然是还原整个LINODE到还原点。如果我只想还原系统到还原点,而其它数据不被还原,恐怕LINODE的傻瓜备份无法满足这种特殊需求。另一方面,从经济角度上考虑,便推荐各位使用我这个方法。网上有诸多用dd打包磁盘的,有用依赖第三方工具备份的,但是各有缺点,不是备份的时候报错,就是还原的时候报错,做不到完美。使用下面的方法,可以做到完美备份。

先捋一下思路,LINODE去年的升级计划,硬盘容量翻倍,现在24G变48G了,我打算这样划分我的VPS硬盘空间,用4G做系统,4G做系统备份,512M做SWAP,其余的39.5G用于存放数据。不管是新VPS,还是已经在用的VPS都没关系,LINODE都可以自由调成

建议借助强大的VPS面板VIRTUALMIN/WEBMIN来完成我们的工作。如果没有安装,或者安装的是其他的VPS面板也行,就是方法不同或是麻烦点。本教程针对只划分了1个系统分区和1个SWAP的VPS,如果划分多了,可以参考接下来的教程。

就之前4+4+0.5+39.5=48的方案,我们分两大类讨论。一类就是现在的磁盘主分区已使用量小于等于4G的,另一类就是现在的磁盘主分区已使用量大于4G的。

#===================下面扫盲用=====================

#系统磁盘怎么挂载(Linode仪表盘)?

#找到LINODE的仪表盘里的配置文件Linodes ->Dashboard ->Configuration Profiles,Edit现在正在使用的Profile,主要修改Block Device Assignment,其余不作调整。把需要使用的磁盘挂载到响应的dev下,以本教程的为例,第一个配置文件My CentOS 5.6 32bit Profile:/dev/xvda CentOS 5.6 32bit Disk Image,/dev/xvdb CentOS 5.6 32bit Disk Data,/dev/xvdc CentOS 5.6 32bit Swap。第二个配置文件, My CentOS 5.6 32bit Profile Backup可以Create a new Configuration Profile,/dev/xvda Copy of CentOS 5.6 32bit Disk Image(还未建立的备份磁盘),/dev/xvdb CentOS 5.6 32bit Disk Data,/dev/xvdc CentOS 5.6 32bit Swap。Save。

#数据怎么移动?

#进入系统,mount /dev/xvda /data,把除系统外的数据都mv到/data下就OK了。

#如何调整磁盘大小

#Linodes ->Dashboard ->Disk Images ->CentOS 5.6 32bit Disk Data ->输入New Size ->Save Cahnges

#怎么修改和添加配置文件?

#添加:Linodes ->Dashboard ->Create a new Configuration Profile 修改:Linodes ->Dashboard ->edit

#===================上面扫盲用=====================

大于4G的:我们需要比小于等于4G的多做的一步就是磁盘数据搬运,给各位一个思路,假设现在已使用7.8(xvda)G,我们可以把此磁盘空间先调整为8(xvda)G,先划分出1个48-0.5(xvdb)-8(xvda)=39.5G的磁盘分区xvdc挂载,再移动xvda里除系统外的数据到xdvc,然后把瘦身后的xvda调整磁盘大小为4G,把xvdc调整到就搞定了,如果已使用磁盘更大,可能移动的次数就要相对多。

小于4G的:就很庆幸的省略了移动数据的繁琐步骤,直接调整磁盘xvda大小到4G,在建立一个磁盘分区大小为39.5G的xvdc就搞定了。

出于个人强迫症,微调一下磁盘挂载。同上:My CentOS 5.6 32bit Profile: /dev/xvda CentOS 5.6 32bit Disk Image,/dev/xvdb CentOS 5.6 32bit Disk Data,/dev/xvdc CentOS 5.6 32bit Swap。Save。

1、  移动用户主目录及数据。

这里借助VIRTUALMIN/WEBMIN面板,以此介绍,其他VPS面板或者不用面板的请自己百度。

mount /dev/xvda /data#挂载xvda到/data

mkdir /data/home#建立新的用户home

WEBMIN ->系统 ->用户与群组 ->点击一个(一次只能选1个,多用户请多次操作)已经建立在/home下有主目录的用户 ->用户主目录 ->Directory= /data/home/xxx ->保存。

2、 修改开机自动挂载

vim /etc/fstab #根据Linode仪表盘修改相应内容

3、点睛之笔,复制磁盘

Linodes ->Disk Images ->CentOS 5.6 32bit Disk Data ->Duplicate Image。此时会建立一个队列,你会发现多了一个Copy of CentOS 5.6 32bit Disk Image Copy of CentOS 5.6 32bit Disk Image (4096 MB, ext3)。

4、移回用户家目录

ls /home #确认原home是否为空

rm –rf /home #删除原home

ln –s /data/home /home #建立一个软链接

最好再把用户主目录设为自动。

WEBMIN ->系统 ->用户与群组 ->点击一个(一次只能选1个,多用户请多次操作)已经建立在/home下有主目录的用户 ->用户主目录 ->自动 ->保存。

5、 个性设置

 

小记:至此Linode的完美备份就介绍到这,可以不受还原期限限制,建立永久的还原点,无错备份,无措还原。备份速度速度可高达80Mb/S。是不是很可靠啊?有兴趣的朋友可以通过API写个脚本或做个程序。有疑问或建议请留言,期待和大家交流。

MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司开发的免费开源的数据库服务器。Red Hat 企业发行版RHEL 7 将用 MariaDB 替代 MySQL,一旦 RHEL 完成切换,基于 RHEL 的社区版 CentOS 将会紧跟着作出改变。所以呢,使用 CentOS 系统的这个 VPS 或迟或早都是要切换到 MariaDB 的,大势所趋啊。

这个 VPS 安装的是 CentOS,目前版本是 6.4,MySQL 版本是 5.5.31(使用了 remi 源),虚拟机的配置与此极度相似。刚开始不太了解,执行了这个比较傻的操作方式。参考 MariaDB 官方文档:How can I upgrade from MySQL to MariaDB?

0. 先备份数据库¶

数据库包含了自己的几乎所有重要内容,不管进行的操作是否有风险,先备份总是很必要的。

可以通过 phpMyAdmin 导出数据库。

也可以直接在系统里将所有数据库文件备份一份:

cp -R /var/lib/mysql /var/lib/mysql.bak

A. 先配置 MARIADB 的安装源。¶

MariaDB 官方提供了一个自动生成安装源配置文件的工具:https://downloads.mariadb.org/mariadb/repositories/。依次选择 Linux 发行版(Distro)、版本(Release),然后选择 MariaDB 版本号(目前只有 10.0 和 5.5)即可。(注意,MariaDB 10 是开发版本。)

MariaDB YUM 安装源的位置:http://yum.mariadb.org/。打开后看到的是 MariaDB 版本列表,按照需要的版本号点击进入下一层文件夹。

然后根据自己的 Linux 发行版,如 CentOS、Fedora、rhel(Red Hat Enterprise Linux)以及系统架构如 x86(表示 32 位操作系统) 或 amd64(表示 64 位操作系统)选择对应的文件夹。

例如,目前 MariaDB 的主版本是 5.5,我的 CentOS 是第 6 版(6.4)、 32 位的,就选择文件夹 centos6-x86/ 。现在浏览器中的地址显示为 http://yum.mariadb.org/5.5/centos6-x86/,这就是下面配置文件中的 baseurl。

对于本例,将下面的安装源配置保存为 MariaDB.repo,上传到服务器的 /etc/yum.repos.d 文件夹:

[mariadb]

name = MariaDB

enable=1

priority=3

baseurl = http://yum.mariadb.org/5.5/centos6-x86

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

其中 priority=3 是针对 YUM 的 PRIORITIES 优先级插件的。

B. 卸载原来的 MYSQL 及相关包。¶

# yum remove mysql*

上面用 * 来匹配删除所有 mysql 数据包(包括因包依赖而删除的别的包,如 postfix)。因为直接安装的时候会出现冲突,例如:

file /usr/share/mysql/ukrainian/errmsg.sys from install of MariaDB-server-5.5.31-1.i686 conflicts with file from package mysql-libs-5.5.32-1.el6.remi.i686

嗯,好像因为将 php-mysql 也给删除了(实际上这个不该删除的),所以 phpMyAdmin 也因为依赖关系而被删除了,我没仔细看。

所以最好不要用通配符 *,而是选择性删除几个主要的,

# yum remove mysql mysql-server mysql-libs

但是这个我没有再测试,因为后面有更好的方法。

C. 然后安装 MARIADB 及相应 PHP 扩展。¶

也是指定几个主要的安装包,剩下的让 yum 自己进行依赖关系检查。

# yum install MariaDB-server MariaDB-client php-mysql

或者不安装 MariaDB-server 而改为具有同步多主群集特性(synchronous multi-master cluster)的 MariaDB Galera Cluster:

# yum install MariaDB-Galera-server MariaDB-client galera

这里比较搞笑的是,没注意前面把 php-mysql 给卸载了,结果运行数据库之后访问 WordPress,结果遭遇下面的错误:

Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

D. 完成,修补¶

不管版本是否升级了,执行一下数据库升级指令总没有坏处:

# mysql_upgrade -p

看看数据库版本是不是升级了:

# mysql -u root -p -e 'show global variables like "version"'

Enter password:

+---------------+----------------+

| Variable_name | Value |

+---------------+----------------+

| version | 5.5.31-MariaDB |

+---------------+----------------+

将 MariaDB 加入随系统自启动列表,

# chkconfig --levels 345 mysql on

嗯,以前 MySQL 的时候是 mysqld,现在是 mysql,就差了一个字母 d。

启动它,

# service mysql start

这个时候服务器上的网站应该已经可以正常工作了,访问数据库没有问题。

如果有必要,安装完 MariaDB 之后可以重新安装 postfix。如果发现 phpMyAdmin 提示无访问权限了,那就是被卸载了,需要重新安装和配置 phpMyAdmin。phpMyAdmin 之所以也会被删除,是因为之前安装的是针对 MySQL 的,不兼容 MariaDB,所以需要重新安装。

E. 配置文件¶

因为之前进行了卸载操作,所以原来的 phpMyAdmin 的配置文件都被清除了,需要重新配置。

而对于 MySQL 的配置文件 /etc/my.cnf,因为 MariaDB 虽然创建了一个 my.cnf.d 文件夹来存储自己的配置文件,但是它会首先加载 my.cnf,且原来 MySQL 的配置对 MariaDB 而言还是有效的。

但是也有些例外:

MariaDB 默认使用 Aria 存储引擎存储内部临时文件,而不是 MySQL 默认使用的 MyISAM。如果你有很多临时文件,最好增加参数 aria-pagecache-buffer-size 并设置为与 key-buffer-size 相同的数值。

如果没有使用 MyISAM,则可以将 key-buffer-size 设置为一个极小的值,如 64K。

3. 较好的升级方法¶

这种情况比较少见.VPS大多也有数据备份的功能.你可以找下服务商帮你查看.看是否可以恢复丢失的数据.另外现在云主机越来越普及.推荐你使用云主机.云主机在功能与使用方面与VPS一样.但所采用的技术原理不同.VPS是在一台物理服务器上划分的.只要这台物理服务器出问题.上面所有的VPS都将无法访问.云主机是在一组集群服务器上划分出来的多个类似独立主机的部分.集群中的每台机器都有云主机的一个镜像备份.实现了数据自动同步的功能.当其中一台机器或者几台机器出现故障时.系统会自动访问其他机器上的备份.所以在安全以及稳定性方面.要比VPS强大很多.值得推荐.

海腾数据杨闯为你解答.若有VPS.云主机问题需要帮忙的话可以来找我.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/234557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存