Data Management

共 17 篇文章。

数据的长期保存

• Data Management

我们每个人每天都在产生各种数据。包括个人笔记、照片等等在内的许多数据,许多可能不太容易再次获得或制造。今年夏天,我整理了一些自己二十年前刻录的光盘,这里记录一下长期保存数据的一些原则、需要避免的陷阱,以及确保数据在数十年后仍然可用的最佳实践。

阅读全文… ( 本文约 1586 字,阅读大致需要 4 分钟 )

ZFS的自动化备份

• Data Management

主任说:

冗余不做,日子甭过;备份不做,十恶不赦。

以前一直是每天手动给自己的新服务器做备份,最近找时间写了一套脚本来自动完成这个事情。

脚本没啥复杂的,大体的思路是这样:

  1. 在源上根据日期命名生成一份新的快照;
  2. 将上次备份机器收到的快照和新快照之间的差异 pipe 给 xz,然后再把结果pipe给ssh(使用key验证),传到备份机上;
  3. 备份机解压缩、zfs receive之后,如果成功,ssh到源系统上记录自己拿到的那个新的快照日期;

由于是通过 Internet (从AS6939送到AS33651)传递快照,所以使用了压缩。用ssh来完成传输的考虑主要是因为它能够做到互相验证身份。

阅读全文… ( 本文约 704 字,阅读大致需要 2 分钟 )

ZFS性能的一些优化结论

• Data Management

最近几天测试了一下盘很多(具体说是24块盘,其中2块热备的JBOD)的时候ZFS的性能特点。一些结论

a) ZFS的随机读性能比较差(相对于顺序读写)。这一点除了改为用mirror而不是raidz1/z2之外似乎没什么太好的办法。同样多的硬盘做成两组raidz1(11+11+2),与做成两块盘一组的11组mirror的pool相比,针对同样的数据集的随机读性能相差可达10倍多,当然,mirror的结果是顺序写性能会差一些。作为副作用,mirror时的读性能可提高大约4倍左右。

阅读全文… ( 本文约 451 字,阅读大致需要 1 分钟 )

十多年以后又做了一次FAT文件恢复

• Data Management

今天又帮人做了一次恢复,上次干这个事是十几年前的事情了。数据恢复是个手艺活,恢复个60%-70%基本上靠工具,剩下的就靠运气和经验了。

想起很久以前做的一个小工具。简单地说是先把磁盘复制一份出来,然后在数据文件上去操作,把已知的链接上,然后把未知的文件的首簇、长度算出来,在空闲区里面找(很明显,大文件恢复的成功与否很大程度上取决于你多久整理一次磁盘以及是否经常删除文件)然后接个链出来。我当时很感激某文本编辑软件每次都会把之前的文件改名做BAK然后把文件整个重新写一遍。

阅读全文… ( 本文约 280 字,阅读大致需要 1 分钟 )

如何:转换旧式编码的MySQL数据库到UTF-8

• Data Management

最近帮公司的一个客户做了一个数据库迁移,客户声称数据是 utf-8 的,然而在使用过程中出现了许多乱码,检查发现数据并非 utf-8,而是 utf-8 编码之后的 big5,而排序方式更是混乱不堪的默认的utf8-swedian-ci。

MySQL的国际化支持很差。MySQL从 4.1 版本开始大刀阔斧地进行了不兼容的改动,简单地说,这些改动让相当多的操作默认以UTF-8进行,然而这会给旧的应用程序带来很多问题。许多文献推荐使用 SET CHARACTER SET 作为 workaround,尽管这能够解决一些问题,但这种做法本质上会导致 MySQL 进行额外的转换,因此并不是十分理想。

阅读全文… ( 本文约 827 字,阅读大致需要 2 分钟 )

为什么是RAID-Z[2]而不是RAID-5

• Data Management

注意:如果您熟悉RAID请不必浪费时间阅读这篇文章。

为什么用RAID-Z/RAID-Z2而不是RAID-5呢?

答案是:RAID-5有一个不可避免的问题,即它必须使用后备电源才能保证写入的正确性。这也是为什么我一直极力反对使用低档RAID卡和软件实现的RAID-5的原因。

阅读全文… ( 本文约 551 字,阅读大致需要 2 分钟 )

ZFS做/是个好主意吗?

• Data Management

一段时间之前我曾经和很多人讨论过使用ZFS作为/的可能性。现在看来,这个也未必真就是一个很好的主意。

目前FreeBSD 8-CURRENT已经完全支持从ZFS启动了(换言之,连 /boot 也不需要了),方法是透过 GPT 分区(我最近MFC了最后一套gpart的补丁回7-STABLE,gpart将在7.1-RELEASE中以一种可用的形式出现)的gptboot。简单地说,配合ZFS v13和支持ZFS的gptboot,FreeBSD就可以从ZFS启动了。针对RAID-Z和RAID-Z2的支持也在计划中。

但是,我认为现阶段使用ZFS做/仍然是风险相当大的事情。

阅读全文… ( 本文约 1082 字,阅读大致需要 3 分钟 )