我正在制作一个将部署到多台计算机的驱动器映像,我正在调整它的性能。它是一个 Windows XP 映像。
考虑到只有一个硬盘驱动器,如果我将 Windows 页面文件放在一个单独的分区上,可能是 FAT16(而不是 NTFS 作为操作系统分区),机器会提高性能吗?我之所以这么想是因为 Linux 这样做了,实际上它使用原始分区作为“交换空间”,这比默认的日志文件系统性能更高(I/O 速度更快)(我希望 FAT16 也比 NTFS 快) .
如果这是有道理的,我应该怎么做?另一个文件系统?分区应该在硬盘的开头还是结尾?
我想使用不是“崩溃安全”的应用程序 API;换句话说,如果应用程序崩溃,数据文件很可能会损坏且无法读取。
该文件本身是一个“元数据文件”,不应变得很大:最大只有几百 MB。
我想做的是:
我可以使用一种特殊用途的文件系统,对文件进行某种“零复制”,并结合原始文件修改扇区的写时复制,以获得“几乎免费”的克隆(使用最少的磁盘) IO)?
另外,我可以在不必分叉进程的情况下进行“克隆”吗?(我不知道 Linux 文件 API 是否提供“cp”系统调用)。
我正在寻找一个脚本来找出本地和远程文件系统(通过 SSH)之间的差异。理想情况下,脚本应该执行以下操作:
-浏览本地文件系统中的文件夹
-找出远程文件系统上是否存在文件夹(如果丢失则报告并停止进一步检查该文件夹)
-对于两个文件系统都存在的文件夹,进行比较它们包含的文件(报告远程文件是否丢失或不同)。
我在 serverfault 上唯一能找到的就是关于如何对单个文件和文件夹进行差异的示例:
如何比较目录之间的差异 (linux)
如何通过 ssh 进行差异?
该脚本可以用任何语言编写,此时无关紧要(尽管首选 bash/perl)。
我刚刚“继承”了一个由使用 iSCSI 设备的 Linux 服务器(运行 Ubuntu,但可能并不重要)组成的系统。当您使用 iscsiadm 命令登录它们时,它们会显示为 /dev/sdb、/dev/sdc 等。
然而,这些设备格式化文件系统的方式并不是我以前做过的,尽管我听说过。文件系统(本例中为 ext4)已直接在其上格式化,因此可能发出了 mkfs /dev/sdb 命令。过去,我总是使用 fdisk 或 parted、/dev/sdb1 等在设备上创建分区,并在分区上格式化我的文件系统。
有没有人见过直接在没有分区的设备上格式化的文件系统,你会推荐它吗?您是否有任何理由强烈反对以这种方式做事?
谢谢,
设想:
有 10 台电脑,每台电脑都有 12x2TB 硬盘(目前)采用 raidZ2(10+2)配置,因此,在每台电脑中,我大约有一个。20TB 容量。
现在,需要将这 10 台单独的计算机(单独的raid 组)合并到一个大卷中。
推荐的解决方案是什么?
我在考虑 FCoE(10GB 以太网)。那么,购买每台计算机 FCoE(10GB 以太网卡)和 - 在硬件方面还需要什么?(可能是另一台计算机,FCoE 交换机?像 Cisco Nexus?)
主要问题是:需要在每台计算机上安装和配置什么?目前他们有 freebsd/raidz2,但如果需要,可以将其更改为 Linux/Solaris。
任何关于如何从较小的突袭组(在软件方面)构建大卷的有用资源都非常受欢迎。那么,什么操作系统,什么文件系统,什么软件 - 等等。
简而言之:想要得到一个大约。来自现有计算机/存储的200TB 存储(在一个文件系统中)。不需要快速写入,但需要良好的读取数据性能。(作为一个大文件服务器),什么将透明地工作,所以在存储数据时不需要关心数据到哪台计算机上。(例如不是 10 个挂载点 - 而是一个大的逻辑文件系统)。
谢谢。
当我尝试rm -rf使用具有很多子目录和/或文件并且使用SSHFS 挂载的目录时,我需要一段时间才能执行。
正常吗?
我想知道rm -rf在文件系统级别内部如何工作。
它是只删除目录,还是遍历所有目录/文件?这将解释为什么它这么慢......
我正在寻找一种生产解决方案来创建一个可以与 HDD 安全同步的 RAM 驱动器。
我有一个 I/O 负载很重的自定义软件(这是某种专有的面向文档的数据库),我需要显着加快它的速度。我无法修改或摆脱软件本身,因此必须进行水平或垂直缩放。该软件不支持盒子的水平侦察,所以我先看看垂直缩放。
主要想法很简单 - 我们购买大量 RAM (96GB) 并将整个内容放入 RAM 驱动器。但它需要是故障安全的,在服务器重启时丢失任何数据不是一种选择。所以我正在寻找能够在 RAM 驱动器和 HDD 之间保持透明同步的解决方案。
像通过 bash 脚本复制文件这样的肮脏解决方案不是一种选择,需要更可靠的方法。
理论上,正如我所见,这里描述的某种分布式 FS可以以一种奇怪的方式使用 - 在同一台机器上同步两个分区。但我怀疑这是否会在实践中起作用,并且从未尝试过。
那么,对于具有透明同步到 HDD 的 RAM 驱动器的现成解决方案有什么想法吗?
数据更新:
filesystems memory replication ramdisk distributed-filesystems
假设我已经sda2安装了分区/var并且它几乎已满。我有第二个磁盘sdb,sdb1我想将其分区挂载为/var.
现在由于一直在使用正在运行的服务(mysql)/var,有没有办法在不停止服务的情况下进行切换?
crontab -e
/tmp/crontab.KxTGwK: No space left on device
Run Code Online (Sandbox Code Playgroud)
和
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 955486988 157545404 749405676 18% /
tmpfs 37042680 0 37042680 0% /dev/shm
/dev/sda1 253871 89090 151674 38% /boot
/usr/tmpDSK 4128448 338068 3580668 9% /tmp
Run Code Online (Sandbox Code Playgroud)
但是我用 df -i 得到了这个
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 60669952 3809723 56860229 7% /
tmpfs 9260670 1 9260669 1% /dev/shm
/dev/sda1 65536 53 65483 1% /boot
/usr/tmpDSK 262144 262144 0 100% /tmp
Run Code Online (Sandbox Code Playgroud)
所以我可以用 rm …
我管理一些 unix 系统,我系统上的用户正在创建大量垃圾并在他们的工作区乱扔垃圾。我每天都遇到文件系统满的情况。有许多TB被锁定,只是浪费。
有一些清理进程每天都在cron运行,但是某些类型的文件,例如非常大的 ear 文件的备份,数据库转储将无法通过模式匹配来识别。我什至在考虑核销他们的账户,但这可能涉及附带损害。
我可以介绍哪些工具/流程/技术来创建工作环境,以帮助避免继续浪费磁盘存储而不必破坏它们。
filesystems ×10
linux ×7
hard-drive ×2
devices ×1
df ×1
diff ×1
freebsd ×1
fstab ×1
local ×1
memory ×1
mount ×1
pagefile ×1
partition ×1
performance ×1
raid ×1
ramdisk ×1
remote ×1
replication ×1
rm ×1
ssh ×1
sshfs ×1
unix ×1
windows-xp ×1