- Data mirroring in linux
- 2.5.1.�Exchanging data between Windows and Linux/QNX
- 2.5.2.�Exchanging data between Linux/QNX and Linux/QNX
- 2.5.3.�Mirroring Master Setup — Linux or QNX
- 2.5.4.�Mirroring Slave Setup — Linux or QNX
- Настройка RAID 1 (зеркалирование) с использованием двух дисков в Linux — часть 3
- Особенности RAID 1
- Требования
- Шаг 1. Установка необходимых компонентов и проверка дисков
- Шаг 2: Разметка диска для RAID
- Шаг 3: Создание устройств RAID1
- Шаг 4: Создание файловой системы на устройстве RAID
- Шаг 5. Проверка данных после сбоя диска
Data mirroring in linux
The Cascade DataHub can mirror data with one or more other DataHubs in running in Windows, as well as Linux or QNX, across a LAN, WAN, or the Internet, using TCP. Mirroring means that the data and any updates to that data on one DataHub are exactly mirrored across the network onto another DataHub, and vice-versa. The only difference between the master DataHub and slave DataHub is that the slave initiates the connection, and a connection license is consumed on the master. Once the connection is established, they function exactly the same.
Each participating DataHub must be configured as mirroring master (server) or mirroring slave (client), or in some cases, both. If your system requires it, a single DataHub can act as a master to one DataHub and as a slave to another.
Each master-slave pair must have matching port numbers and domain names. Specifying port numbers and domain names is explained below.
2.5.1.�Exchanging data between Windows and Linux/QNX
There are three possible ways to set this up:
To have the Windows DataHub initiate the connection, you would need to set it up as a slave, and set up the Linux or QNX DataHub as a master.
To have the Linux or QNX DataHub initiate the connection, you would need to set it up as a slave, and set up the Windows DataHub as a master.
As a third alternative, you can use Cascade Connect instead of the DataHub in Windows, however you must keep in mind that Cascade Connect always functions as a slave, and it only connects to DDE-enabled programs. Please refer to the Cascade Connect manual for details on setting it up for mirroring. You would set it up the Linux or QNX DataHub as a master
2.5.2.�Exchanging data between Linux/QNX and Linux/QNX
For this scenario, you would set up whichever DataHub you wanted to initiate the connection as a master, and set up the other DataHub as a slave.
2.5.3.�Mirroring Master Setup — Linux or QNX
You can set up the Cascade DataHub to act as a mirroring master on Linux or QNX in either of these two ways:
Run the DataHub with the -p option.�This tells the Cascade DataHub to listen as a TCP master on the port or service you specify. Normally you would use port 4600, which we have arbitrarily chosen as the «normal» port, but any port number will do so long as the client (slave) uses the same port number.
[sh]$ datahub -p port/service
Create a configuration file or use an existing one.�Make sure the following lines are in the file:
(tcp_service 4600) (enable_tcp_server 1) (enable_mirror_master 1)
Then run the DataHub with the -f option:
[sh]$ datahub -f /path/to/my/configfile.cfg
[sh]$ datahub -f /usr/local/misc/dhconfig.cfg
2.5.4.�Mirroring Slave Setup — Linux or QNX
You can set up the Cascade DataHub to act as a mirroring slave on Linux or QNX in either of these two ways:
Run the DataHub with the -m, -M and -n options.�
[sh]$ datahub -m port -M address -n domain
[sh]$ datahub -m 4600 -M 192.168.3.15 -n test
Create a configuration file or use an existing one.�Make sure the following lines are in the file:
(create_domain domainM) (mirror_master address port domainS domainM) (enable_mirror_slave 1)
The create_domain command is optional. It is used in this example to show how to make a domain on the slave DataHub that matches a domain on the master DataHub. The mirror_master command then sets up mirroring from domainM on the master to a different domain, domainS, on the slave. You can also mirror domains with the same name, say default, by simply specifying the same domain name for master and slave:
(mirror_master 192.168.3.15 4600 default default)
Once the file is ready, run the DataHub with the -f option:
[sh]$ datahub -f /path/to/my/configfile.cfg
[sh]$ datahub -f /usr/local/misc/dhconfig.cfg
Настройка RAID 1 (зеркалирование) с использованием двух дисков в Linux — часть 3
Зеркалирование RAID означает точное копирование (или зеркало) одних и тех же данных, записываемых на два диска. Для создания RAID1 в массиве требуется минимум два диска, и это полезно только в том случае, когда производительность или надежность чтения более точны, чем емкость хранилища данных.
Зеркала создаются для защиты от потери данных из-за сбоя диска. Каждый диск в зеркале содержит точную копию данных. Когда один диск выходит из строя, те же данные можно получить с другого работающего диска. Однако неисправный диск можно заменить на работающем компьютере без вмешательства пользователя.
Особенности RAID 1
- Зеркало имеет хорошую производительность.
- 50% места будет потеряно. Это означает, что если у нас есть два диска с общим размером 500 ГБ, это будет 1 ТБ, но при зеркалировании он покажет нам только 500 ГБ.
- Нет потери данных при зеркальном отображении в случае сбоя одного диска, потому что у нас одинаковое содержимое на обоих дисках.
- Чтение лучше, чем запись данных на диск.
Требования
Минимум Два диска разрешены для создания RAID 1, но вы можете добавить больше дисков, удвоив количество 2, 4, 6, 8. Чтобы добавить больше дисков, в вашей системе должен быть физический адаптер RAID (аппаратная карта).
Здесь мы используем программный рейд, а не аппаратный рейд. Если в вашей системе есть встроенная физическая карта аппаратного рейда, вы можете получить к ней доступ через интерфейс утилиты или с помощью клавиши Ctrl+I.
Читайте также: Основные понятия RAID в Linux
Настройка моего сервера
Operating System : CentOS 6.5 Final IP Address : 192.168.0.226 Hostname : rd1.tecmintlocal.com Disk 1 [20GB] : /dev/sdb Disk 2 [20GB] : /dev/sdc
В этой статье вы найдете пошаговые инструкции по настройке программного RAID 1 или Зеркала с помощью mdadm (создает и управляет рейд) на платформе Linux. Хотя те же инструкции работают и в других дистрибутивах Linux, таких как RedHat, CentOS, Fedora и т. д.
Шаг 1. Установка необходимых компонентов и проверка дисков
1. Как я уже сказал выше, мы используем утилиту mdadm для создания и управления RAID в Linux. Итак, давайте установим программный пакет mdadm в Linux с помощью менеджера пакетов yum или apt-get.
# yum install mdadm [on RedHat systems] # apt-get install mdadm [on Debain systems]
2. После установки пакета «mdadm» нам нужно проверить наши диски, не настроен ли уже какой-либо рейд с помощью следующей команды.
Как видно из приведенного выше экрана, пока не обнаружено ни одного суперблока, это означает, что RAID не определен.
Шаг 2: Разметка диска для RAID
3. Как я упоминал выше, мы используем как минимум два раздела /dev/sdb и /dev/sdc для создания RAID1. Давайте создадим разделы на этих двух дисках с помощью команды «fdisk» и изменим тип на raid во время создания раздела.
- Нажмите ‘n’, чтобы создать новый раздел.
- Затем выберите «P» в качестве основного раздела.
- Затем выберите номер раздела 1.
- Задайте полный размер по умолчанию, просто дважды нажав клавишу Enter.
- Затем нажмите ‘p’, чтобы распечатать определенный раздел.
- Нажмите L, чтобы просмотреть список всех доступных типов.
- Введите ‘t’, чтобы выбрать разделы.
- Выберите «fd» для автоматического рейда Linux и нажмите Enter, чтобы применить.
- Затем снова используйте ‘p’, чтобы напечатать сделанные нами изменения.
- Используйте ‘w’, чтобы записать изменения.
После создания раздела «/dev/sdb» следуйте тем же инструкциям, чтобы создать новый раздел на диске /dev/sdc.
4. После успешного создания обоих разделов проверьте изменения на обоих дисках sdb и sdc, используя один и тот же ‘mdadm . ‘, а также подтвердите тип RAID, как показано на следующих снимках экрана.
Примечание. Как видно из рисунка выше, на sdb1 и sdc1 не существует определенного RAID-массива. едет так далеко, поэтому мы получаем, что суперблоки не обнаружены.
Шаг 3: Создание устройств RAID1
5. Затем создайте устройство RAID1 с именем «/dev/md0» с помощью следующей команды и проверьте его.
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1 # cat /proc/mdstat
6. Затем проверьте тип устройств рейда и массив рейда, используя следующие команды.
# mdadm -E /dev/sd[b-c]1 # mdadm --detail /dev/md0
Из приведенных выше картинок легко понять, что raid1 был создан и использует разделы /dev/sdb1 и /dev/sdc1, а также вы можете увидеть статус повторной синхронизации.
Шаг 4: Создание файловой системы на устройстве RAID
7. Создайте файловую систему с помощью ext4 для md0 и смонтируйте в /mnt/raid1.
8. Затем смонтируйте только что созданную файловую систему в «/mnt/raid1», создайте несколько файлов и проверьте содержимое в точке монтирования.
# mkdir /mnt/raid1 # mount /dev/md0 /mnt/raid1/ # touch /mnt/raid1/tecmint.txt # echo "tecmint raid setups" > /mnt/raid1/tecmint.txt
9. Чтобы автоматически монтировать RAID1 при перезагрузке системы, необходимо сделать запись в файле fstab. Откройте файл «/etc/fstab» и добавьте следующую строку внизу файла.
/dev/md0 /mnt/raid1 ext4 defaults 0 0
10. Запустите ‘mount -a’, чтобы проверить, есть ли ошибки в записи fstab.
11. Затем сохраните конфигурацию рейда вручную в файл «mdadm.conf», используя приведенную ниже команду.
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
Приведенный выше файл конфигурации считывается системой при перезагрузке и загрузке устройств RAID.
Шаг 5. Проверка данных после сбоя диска
12. Наша основная цель состоит в том, чтобы даже после сбоя или сбоя жесткого диска наши данные были доступны. Давайте посмотрим, что произойдет, когда какой-либо из дисков в массиве недоступен.
На приведенном выше изображении мы видим, что в нашем RAID доступно 2 устройства, а активных устройств — 2. Теперь давайте посмотрим, что произойдет, когда диск отключится (удален диск sdc) или выйдет из строя.
# ls -l /dev | grep sd # mdadm --detail /dev/md0
Теперь на изображении выше вы можете видеть, что один из наших дисков потерян. Я отключил один из дисков от моей виртуальной машины. Теперь давайте проверим наши драгоценные данные.
# cd /mnt/raid1/ # cat tecmint.txt
Вы видели, что наши данные все еще доступны. Из этого мы узнаем преимущество RAID 1 (зеркало). В следующей статье мы увидим, как настроить чередование RAID 5 с распределенной четностью. Надеюсь, это поможет вам понять, как работает RAID 1 (зеркало).