如何在mysql中备份大型数据库?复制数据库的最佳方法是什么?
我正在寻找的是在很短的时间限制内备份具有大量数据的大型数据库,然后在很短的限制时间内恢复它?
我为一家规模虽小但不断发展壮大的初创公司工作,该初创公司需要一个公司目录来保存公司的照片和联系信息。最终,我们可能希望将此系统用于登录凭据等,但现在的目标是拥有一个简单的网站,人们可以在其中搜索公司的其他人,并且人们可以在其中保持联系信息的最新状态。
是否有任何现成的(最好是免费的)解决方案(在 Linux 上运行)提供这种功能?
我们每天生成大约 340 万个小型 jpeg 文件。我们还删除了大约 340 万张 90 天前的图像。迄今为止,我们已经通过以分层方式存储图像来处理这些内容。继承关系是这样的:
/Year/Month/Day/Source/
Run Code Online (Sandbox Code Playgroud)
这种层次结构使我们能够有效地删除所有来源中数天的内容。
这些文件存储在连接到 14 个磁盘 SATA RAID6 的 Windows 2003 服务器上。
在写入和读取磁盘时,我们已经开始遇到严重的性能问题。
这可能是由于硬件的性能,但我怀疑磁盘碎片可能是罪魁祸首。
有些人建议将数据存储在数据库中,但我一直在犹豫要不要这样做。另一个想法是使用某种容器文件,例如 VHD 或其他东西。
有没有人对减轻这种碎片有什么建议?
附加信息:
平均文件大小为 8-14KB
来自 fsutil 的格式信息:
NTFS Volume Serial Number : 0x2ae2ea00e2e9d05d
Version : 3.1
Number Sectors : 0x00000001e847ffff
Total Clusters : 0x000000003d08ffff
Free Clusters : 0x000000001c1a4df0
Total Reserved : 0x0000000000000000
Bytes Per Sector : 512
Bytes Per Cluster : 4096
Bytes Per FileRecord Segment : 1024
Clusters Per FileRecord Segment : …Run Code Online (Sandbox Code Playgroud) 我有很多需要相同配置的机器。我的目标是从网络引导它们并加载虚拟机。如果我们所有的客户服务机器都有一个图像,那就太好了。这样,我可以加载虚拟映像,执行更新,并知道下次启动时他们将拥有所有更改。理想情况下,机器会将图像存储在本地,并且仅在发生更改时才下载新图像。
有了关于“桌面虚拟化”、“PXE 启动”和“虚拟机”的所有信息,我感到迷茫。我已经阅读了几个小时,感觉我只是触及了表面。
我想使用开源或免费软件来做到这一点。有什么建议?
我遇到了一个问题,在服务器启动一段时间(~一周/几天)后,服务器将开始读取损坏的数据。例如,当我在全新启动后运行文件的 sha1sum 时,它保持不变。然而,一段时间后,我将开始出现段错误,从那时起,每当我阅读此文件时,我都会得到一个不同的 sha1sum。
我已经通过长时间的测试检查了 SMART,并且我已经运行了一个扩展的 memtest86+(12 次通过)
我的 lspci 如下:
00:00.0 主机桥:Advanced Micro Devices [AMD] RS780 主机桥 00:01.0 PCI 桥:Advanced Micro Devices [AMD] RS780 PCI 到 PCI 桥(int gfx) 00:06.0 PCI 桥:Advanced Micro Devices [AMD] RS780 PCI 到 PCI 桥(PCIE 端口 2) 00:07.0 PCI 桥:Advanced Micro Devices [AMD] RS780 PCI 到 PCI 桥(PCIE 端口 3) 00:11.0 SATA 控制器:ATI Technologies Inc SB700/SB800 SATA 控制器 [AHCI 模式] 00:12.0 USB 控制器:ATI Technologies Inc SB700/SB800 USB OHCI0 控制器 00:12.1 USB 控制器:ATI Technologies Inc …
我已经为 / 和 /home 安装了软件 raid 1,但似乎我没有从中获得正确的速度。
从 md0 读取大约 100 MB/秒从 sda 或 sdb 读取大约 95-105 MB/秒
我以为我会从两个驱动器获得更快的速度(在读取数据时)。我不知道是什么问题。
我正在使用内核 2.6.31-18
hdparm -tT /dev/md0
/dev/md0:计时缓存读取:2.00 秒内 2078 MB = 1039.72 MB/秒计时缓冲磁盘读取:3.01 秒内 304 MB = 100.96 MB/秒
hdparm -tT /dev/sda
/dev/sda:计时缓存读取:2.00 秒内 2084 MB = 1041.93 MB/秒计时缓冲磁盘读取:3.02 秒内 316 MB = 104.77 MB/秒
hdparm -tT /dev/sdb
/dev/sdb:计时缓存读取:2.00 秒内 2150 MB = 1075.94 MB/秒计时缓冲磁盘读取:3.01 秒内 302 MB = 100.47 MB/秒
编辑:突袭1
我想在虚拟机运行时对其进行备份,是否可以在不购买更多 VM-Ware 产品的情况下执行此操作?
它们在 CentOS 5.2 上运行。
我想运行以下命令:(Centos 5.4)
rsync -avz /source_folder 192.168.1.1:/destination_folder
现在我从 CLI 运行它,但最终我想从 crontab (user:root) 运行它。
当我运行它时,它总是要求我输入 root 密码。我想跳过密码。我已经看到了一些关于这个的答案,但它要么不起作用,要么我不确定我完全理解如何去做。有人可以帮忙吗?
我可以运行 iptables-save 并将输出转储到 stdout 但如果我重定向到一个文件 - 该文件为空:
[root@nhd-vlx2 tmp]# iptables-save
# Generated by iptables-save v1.4.7 on Sun Dec 18 15:11:42 2011
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [90971:17757587]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9090:9999 -j ACCEPT
-A …Run Code Online (Sandbox Code Playgroud) 我在服务器上使用 SSD 已经一年多了。有时,服务器会蓝屏/完全无响应。我发现是系统运行时 SSD 脱机,因为在重新启动(软重置)后,BIOS 不会检测到 SSD——除非我完全关闭系统电源并重新打开它。然后检测到SSD。我已经更换了电缆等。这是什么原因?它会是一个坏的 SSD 吗?(它只是“离线”是没有意义的)。运行 Windows Server 2008...日志也没有告诉我任何信息。
这是一个OCZ oynx,固件是最新的。我的 HDTune 结果显示它有很多坏扇区,但我不确定我是否相信结果。
编辑
HD Sentinel 表面测试显示大约 19 个坏道。一旦我得到我的备份 ssd (corsair),我将重新格式化/重新初始化它以查看是否可以解决问题。
linux ×4
backup ×2
mdadm ×2
raid ×2
centos6 ×1
corruption ×1
directory ×1
files ×1
filesystems ×1
hardware ×1
iptables ×1
mysql ×1
performance ×1
rsync ×1
ssd ×1