我在 RAID 1 中有一个带有 3 个 SSD 驱动器的专用服务器。输出cat /proc/mdstat:
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
106738624 blocks [3/3] [UUU]
bitmap: 0/1 pages [0KB], 65536KB chunk
md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
5497792 blocks [3/3] [UUU]
md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
259008 blocks [3/3] [UUU]
unused devices: <none>
Run Code Online (Sandbox Code Playgroud)
¿如何在不丢失任何数据的情况下安全地从软突袭中删除驱动器?我想从阵列中删除一个驱动器,以便重新格式化它并独立使用它,同时保持最重要的数据镜像。
我想在 mdadm raid1 设置中使用两个 3 TB 驱动器(使用 Debian Sequeeze)。
这些驱动器使用 4k 硬件扇区而不是传统的 512 字节扇区。
我有点困惑,因为一方面内核报告:
$ cat /sys/block/sdb/queue/hw_sector_size
512
Run Code Online (Sandbox Code Playgroud)
但另一方面fdisk报告:
# fdisk -l /dev/sdb
Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Run Code Online (Sandbox Code Playgroud)
因此,内核似乎认为驱动器使用 4k 扇区。
该mdadm男子网页是关于块大小和RAID1有点神秘:
Run Code Online (Sandbox Code Playgroud)-c, --chunk= Specify chunk size of kibibytes. The default when …
我使用 mdadm 在 RAID 1 阵列中有我的 /boot 分区。这个阵列过去降级过几次,每次我移除物理驱动器,添加一个新的,使阵列恢复正常,它使用一个新的驱动器号。将旧的留在阵列中并失败。我似乎无法删除不再存在的所有组件。
[root@xxx ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdg1[10] sde1[8](F) sdb1[7](F) sdd1[6](F) sda1[4] sdc1[5]
358336 blocks super 1.0 [4/3] [UUU_]
Run Code Online (Sandbox Code Playgroud)
这是我尝试删除不存在的驱动器和分区的方法。例如,/dev/sdb1。
[root@xxx ~]# mdadm /dev/md0 -r /dev/sdb1
mdadm: Cannot find /dev/sdb1: No such file or directory
[root@xxx ~]# mdadm /dev/md0 -r faulty
mdadm: Cannot find 8:49: No such file or directory
[root@xxx ~]# mdadm /dev/md0 -r detached
mdadm: Cannot find 8:49: No such file or directory
Run Code Online (Sandbox Code Playgroud)
8:49 …
我有三个相同的SATA / 600 3TB硬盘的服务器:/dev/sda,/dev/sdb,/dev/sdc。使用 GPT 对驱动器进行分区,每个分区具有三个分区:
三个驱动器中的一个是热备份,另外两个在 RAID 组中处于活动状态。它工作正常,我可以在断开任何单个硬盘驱动器后启动。我想使用smartd(smartmontools 的一部分)来监控驱动器的健康状况并向 syslog(我使用logcheck监控)报告错误。该服务器应具有尽可能高的可用性,但在测试期间性能下降是可以接受的。
这是输出smartctl -a /dev/sda:
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: WDC WD30EZRX-00MMMB0
Serial Number: WD-WMAWZ0412093
LU WWN Device Id: 5 0014ee 2b19fbdcd
Firmware Version: 80.00A80
User Capacity: …Run Code Online (Sandbox Code Playgroud) 我已经在多个设备上使用 btrfs 大约两年了。
我计划在具有不可靠扇区的 HDD(单盘)上测试一些 btrfs 配置。硬盘上的十几个扇区有时无法读取。
这些设置中的数据完整性和整体读写速度是否有任何差异:
1 TB HDD
-1 TB btrfs partition created with `mkfs.btrfs -d dup -m dup /dev/sda1`
1 TB HDD
-500 GB partition
-500 GB partition
--500 GB btrfs Raid 1 `mkfs.btrfs -m raid1 -d raid1 /dev/sda1 /dev/sda2`
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来备份整个磁盘,以防万一出现问题...
我什至不知道在服务器的一些特殊设备上安装什么,而且每次都不一样。
会cp -a为/目录工作的?
有没有什么程序可以复制硬盘的所有数据?(就像硬盘的图像)。
我知道这至少存在于 Windows 中。
虽然硬盘在 RAID 1 上....
我有一个 btrfs RAID1 系统,其状态如下:
# btrfs filesystem show
Label: none uuid: 975bdbb3-9a9c-4a72-ad67-6cda545fda5e
Total devices 2 FS bytes used 1.65TiB
devid 1 size 1.82TiB used 1.77TiB path /dev/sde1
*** Some devices missing
Run Code Online (Sandbox Code Playgroud)
丢失的设备是一个完全失败的磁盘驱动器,操作系统无法再识别它。我取出了故障磁盘并将其送去回收。
现在我在 /dev/sdd 下安装了一个新磁盘。在网上搜索时,我找不到这种情况的说明(搜索词选择不当?)。有许多示例如何在故障磁盘仍然可以被操作系统访问时保存 RAID 系统。 btrfs replace命令需要源磁盘。
我尝试了以下方法:
# btrfs replace start 2 /dev/sdd /mnt/brtfs-raid1-b
# btrfs replace status /mnt/brtfs-raid1-b
Never started
Run Code Online (Sandbox Code Playgroud)
没有错误消息,但状态表明它从未启动。我无法弄清楚我的尝试有什么问题。
我正在运行 Ubuntu 16.04 LTS Xenial Xerus,Linux 内核 4.4.0-57-generic。
更新 #1
好的,在“非后台模式(-B)”下运行命令时,我看到了一个以前没有出现过的错误:
# btrfs replace start -B 2 /dev/sdd /mnt/brtfs-raid1-b
ERROR: ioctl(DEV_REPLACE_START) failed on "/mnt/brtfs-raid1-b": …Run Code Online (Sandbox Code Playgroud) 我创建了一个 RAID 1 配置,我将其命名为 /dev/md1,但是当我重新启动时,名称总是更改为 /dev/md127
我最近从硬件 RAID1 机箱转移到使用两个带有 md 的 eSATA 驱动器。一切似乎都运行良好,除了目录遍历/列表有时会爬行(大约 10 秒)。我使用的是 ext3 文件系统,块大小设置为 4K。
以下是一些应该很重要的命令的相关输出:
mdadm --详细信息:
/dev/md127:
Version : 1.2
Creation Time : Sat Nov 16 09:46:52 2013
Raid Level : raid1
Array Size : 976630336 (931.39 GiB 1000.07 GB)
Used Dev Size : 976630336 (931.39 GiB 1000.07 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Nov 19 01:07:59 2013
State : clean
Active Devices : 2
Working Devices : 2 …Run Code Online (Sandbox Code Playgroud) raid-1(镜像)设备上的交换有哪些优点?
(在运行linux的服务器环境中)
我的意思是,你可以在 Linux 中使用多个磁盘设备进行交换。并且对于具有相同优先级的交换设备,内核有可能优化读取和写入(即条带化))。
我能想到一个:使用 raid-1 和热插拔驱动器,您可以更改交换镜像的故障部分,而无需重新启动。假设内核尚未从故障分支读取和使用损坏的页面。
如果没有 raid1,您将不得不重新启动或交换故障设备,并希望仅终止不重要的进程(现在不可用的页面调出内存)。
这是一个优点吗?还有其他优点吗?