AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-113189

Tobia's questions

Martin Hope
Tobia
Asked: 2016-08-24 01:14:24 +0800 CST

为什么`zfs list -t snapshot`比`ls .zfs/snapshot`慢几个数量级?

  • 8

对于我曾经尝试过的所有 ZFS-on-Linux 版本,zfs list用于列出文件系统或卷 ( zfs list -r -t snapshot -H -o name pool/filesystem) 的所有快照的运行时间总是比 运行时间多几个数量级ls .zfs/snapshot,这是立即的:

$ time ls -1 /srv/vz/subvol-300-disk-1/.zfs/snapshot
[list of 1797 snapshots here]
real    0m0.023s
user    0m0.008s
sys     0m0.014s

# time zfs list -r -t snapshot -H -o name vz/subvol-300-disk-1
[same list of 1797 snapshots]
real    1m23.092s
user    0m0.110s
sys     0m0.758s

此错误是否特定于 ZFS-on-Linux?

任何拥有 Solaris 或 FreeBSD ZFS 机器的人都可以执行类似的测试(在旋转硬盘上具有数百个快照的文件系统上)吗?

是否有一种解决方法可以快速获取卷的快照列表,该卷本质上没有.zfs目录?

我已经在内核 2.6.32-43-pve x86_64 (Proxmox) 上使用 ZFS-on-Linux 0.6.5.2-2-wheezy 运行了上述测试,但我总是在较旧和较新的 ZFS 和内核上看到这个问题版本。


以下是泳池数据:

# zpool list
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
vz    25.2T  9.42T  15.8T         -     5%    37%  1.00x  ONLINE  -

它包含 114 个文件系统和 1 个卷,每个卷都有数百个快照,因为这是一个zfs send/zfs recv备份服务器。


解决方案: zfs list速度很慢,因为它会获取额外的信息,即使它没有显示。解决方案是同时添加-o name -s name,即使用zfs list -t snapshot -o name -s name

zfs zfsonlinux
  • 2 个回答
  • 7331 Views
Martin Hope
Tobia
Asked: 2015-06-05 04:48:19 +0800 CST

我可以“刷新并锁定”一个 Oracle 数据库来进行文件系统备份吗?

  • 3

我正在使用 ZFS 拍摄正在运行的 OpenVZ 容器的快照。

对于 MySQL 数据库,我可以flush tables with read lock用来将它们置于刷新和锁定状态。这将使基础文件处于一致状态并保留任何传入查询,直到我完成快照,这最多需要几秒钟。

这是一个示例脚本,没有错误检查和其他内务代码:

vz_root=/var/lib/vz/root/$veid
mysql_locked=/var/run/mysql_locked

# flush & lock MySQL, touch mysql_locked, and wait until it is removed
vzctl exec $veid mysql -NB <<-EOF &
    flush tables with read lock;
    delimiter ;;
    system touch $mysql_locked
    system while test -e $mysql_locked; do sleep 1; done
    exit
EOF

# wait for the preceding command to touch mysql_locked
while ! test -e $vz_root$mysql_locked; do sleep 1; done

# take a snapshot of the VZ filesystem, while MySQL is being held locked
zfs snapshot zpool/private/$veid@$(date +"%Y-%m-%d_%H:%M")

# unlock MySQL
rm -f $vz_root$mysql_locked

我可以为 Oracle 数据库做同样的事情吗?

是否有一个命令可以刷新其表空间,使它们处于一致状态,适合备份,并保持任何活动,直到我解锁它?

我宁愿避免重新配置 Oracle 以直接使用 ZFS 作为存储后端,因为简单的 OpenVZ 容器非常适合我。事实上,我宁愿有一些低维护技术,没有任何复杂的 Oracle 设置(如果有的话)。

mysql
  • 1 个回答
  • 356 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve