Как вырезать часть пути
В переменной $pathd могут быть разные пути:
/home/user1/config
/home/user1/imap/abc/def/Maildir/blabla/blabla
...
echo $pathd | awk '/(^\/home\/.*\/imap\/.*\/.*\/Maildir\/)/{print $0}'
В переменной $pathd могут быть разные пути:
/home/user1/config
/home/user1/imap/abc/def/Maildir/blabla/blabla
...
echo $pathd | awk '/(^\/home\/.*\/imap\/.*\/.*\/Maildir\/)/{print $0}'
Логический том LVM хоста выбран как диск для виртуальной машины (KVM). На этот диск установлена CentOS 7, диск которой разбит так: 1 раздел - /boot, 2-ой раздел полностью под LVM, в котором уже созданы разделы /, /var, ... Все разделы отформатированны в XFS.
Если расширить (увеличить) LVM хоста, то:
1. Не «полетит» ли CentOS 7 виртуалки, точнее данные на его диске?
2. Можно ли будет использовать дополнительное появившееся место на диске VM для расширения, например, раздела /var виртуалки?
Все мои познания подсказывают, что 1 - не «полетит», и 2 - можно, но перед испытаниями хотелось бы услышать ваше мнение, чтобы не тратить время на восстановление VM.
На хост сервере (CentOS 7) установлена одна виртуальная машина (KVM). Для неё создан отдельный мост br1. Пинг между хостом и гостем (то же CentOS 7) проходит без проблем, но вот пинг от гостя в интернет - не работает (зависает). Судя по счетчикам в правилах iptables, ping проходит от br1 в eth0 (pkts bytes - 251 21014 и растут, пока запущен пинг на госте), но ответ не возвращается (pkts bytes - 0 0).
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 br1 0.0.0.0/0 0.0.0.0/0
251 21014 ACCEPT all -- br1 eth0 0.0.0.0/0 0.0.0.0/0
Настройки моста (Хост):
/etc/sysconfig/network-scripts/ifcfg-br1:
DEVICE=br1
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=static
# IP Хоста
IPADDR=x.y.z.26
NETMASK=255.255.255.255
STP=off
DELAY=0
Настройки роутинга на хосте для br1:
/etc/sysconfig/network-scripts/route-br1:
# Белый IP гостевой ситемы
ADDRESS0=x.y.z.48
NETMASK0=255.255.255.255
Настройки гостя:
/etc/sysconfig/network-scripts/ifcfg-eth0:
...
IPADDR=x.y.z.48
PREFIX=32
SCOPE="peer x.y.z.26" # IP Хоста
...
/etc/sysconfig/network-scripts/route-eth0:
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=x.y.z.26 # IP Хоста
METRIC0=0
Уверен, что проблема с доступом гостя в интернет, связана с роутингом, в связи с чем, просьба, подсказать, как прописать роутинг на хосте для гостя так, чтобы тот имел доступ в интернет. Перечитав множество статей-инструкций, решения так и не нашел, на изучение основ, как всегда не хватает времени.
Пробую перенастроить сеть на сервере (Hetzner) так, чтобы в выделенном IP4 диапазоне (/27,/28 или /29) не «терялись» IP на шлюз и броадкаст. На сайте Хетцнера и Хабре нашел только инструкции для Debian. Например, ниже настройка бриджа:
auto br112
br112 iface inet static
address 172.30.112.1
netmask 255.255.255.0
pre-up brctl addbr br112
post-up route add -host 123.45.90.112 br112
post-down brctl delbr br112
Просьба к знающим: помочь перевести эту настройку бриджа для CentOS 7.
Установил новую (на тот момент) версию git не из репозитория CentOS 7.
# git --version
git version 2.11.0
Все было ок, до сегодня, пока я не попытался обновить систему с помощью yum update. В ответ на попытку обновления я получил такие ошибки:
--> Processing Dependency: git = 1.8.3.1-12.el7_4 for package: perl-Git-1.8.3.1-12.el7_4.noarch
--> Finished Dependency Resolution
Error: Package: perl-Git-1.8.3.1-12.el7_4.noarch (updates)
Requires: git = 1.8.3.1-12.el7_4
Installed: git-1.8.3.1-6.el7_2.1.x86_64 (@updates)
git = 1.8.3.1-6.el7_2.1
Error: Package: git-1.8.3.1-6.el7_2.1.x86_64 (@updates)
Requires: perl-Git = 1.8.3.1-6.el7_2.1
Removing: perl-Git-1.8.3.1-6.el7_2.1.noarch (@updates)
perl-Git = 1.8.3.1-6.el7_2.1
Updated By: perl-Git-1.8.3.1-12.el7_4.noarch (updates)
perl-Git = 1.8.3.1-12.el7_4
Available: perl-Git-1.8.3.1-11.el7.noarch (base)
perl-Git = 1.8.3.1-11.el7
В конфиге Апача есть такие записи:
<location "/host1">
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</location>
<location "/host2">
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</location>
Можно ли как-то перечислить «hostX» в одном блоке, чтобы не плодить различные блоки, отличающиеся только hostX?
При просмотре маршрутов (# route или # netstat -r) в колонке default некоторые адреса обрезаются, так как не вмещаются по ширине в колонку, получается например так:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default static.111.11.1 0.0.0.0 UG 0 0 0 eth0
static.111.11.1 0.0.0.0 255.255.255.248 UH 0 0 0 eth0
...
Подскажите, как увидеть полный адрес, вместо куска «static.111.11.1»?
Пытаюсь настроить подсеть на CentOS 7 в Hetzner. Большинство документации по настройке подсети у Hetzner написана для Debian, а настройка сети в CentOS несколько отличается, и перевести конфиги сети для CentOS у меня не хватает знаний.
Пробовал настроить по статье с Хетцнера: после добавления моста vmbr0 пингуется только адрес шлюза 5.5.5.64, все остальные адреса подсети не доступны (ping) ни с хоста, ни с мира.
Хост: 1.1.1.240; подсеть: 5.5.5.64/29
Конфиг сети:
### Hetzner Online GmbH installimage
DEVICE=enp0s3
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.1.1.240
NETMASK=255.255.255.255
SCOPE="peer 1.1.1.193"
IPV6INIT=yes
IPV6ADDR=1111:111:111:1111::2/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=enp0s
DEVICE=vmbr0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=5.5.5.64
NETMASK=255.255.255.248
STP=off
DELAY=0
Вывод ip a
1 lo ...
2 enp0s3 <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 ...
3 vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN qlen 1000
link/ether ... brd ff:ff:ff:ff:ff:ff
inet 5.5.5.64/29 brd 5.5.5.71 scope global vmbr0
valid_lft forever preferred_lft forever
inet6 ... scope link
valid_lft forever preferred_lft forever
В итоге нужно раздать виртуалкам IP-адреса из этой подсети: IP65-66 - KVM1, IP67-69 - KVM2, IP70 - KVM3.
Просьба помочь в настройке подсети для KVM.
Планирую взять сервер на Hetzner с 2мя SSD 500G, которых при использовании Raid1 может не хватить на все данные (несколько VM с различными сайтами). Поэтому возник вопрос: насколько рисковано отказаться от Raid1, чтобы использовать все доступное место SSD (около 950GiB), при наличии регулярных бэкапов и репликации БД?
Есть FTP-сервер (CentOS 7, ProFTPd), на который заливаются файлы. Директория (myftp), куда пишутся файлы на диске с LVM фс XFS. Нужно сделать так, чтобы любое изменение в директории myftp сразу же дублировалось на другой, удаленный сервер. Т.е. например, как только в myftp на сервере 1 начали записываться данные по FTP, эти же данные онлайн или с минимальной задержкой дублировались на другой, удаленный сервер (2) (связь по VPN). Сервер 2, планируется также на CentOS
Просьба подсказать, как можно решить такую задачу, в какую сторону смотреть? Желательно, чтобы данные на сервер 2 только записывались, и их нельзя было изменить, получив доступ на сервер 1. Файловую систему можно поменять, если для решения подобной задачи есть что-то лучше, чем XFS.
Экспериментировал с LVM и на дополнительном диске HDD2 создал раздел с LVM и подключил его к системе в fstab. Перегрузил сервер, все ок, записал на HDD2 100G данных, выключил сервер. После включения LVM отвалился... Пытаясь восстановить LVM понял, что это затянется на долго, решил снести все разделы на HDD2 при помощи parted и сделал это. Но теперь даже через fdisk -l /dev/sdb я вижу /dev/sdb: 33.3MB, хотя по факту диск на 1000GB. После parted -> mklabel gpt - все равно /dev/sdb: 33.3MB
Как разметить все пространство HDD2 или, возможно, проблемы с самим HDD?
Использую CentOS 7
Вот как сейчас выглядит HDD2 в fdisk -l:
Disk /dev/sdb: 33 MB, 33348608 bytes, 65134 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
# Start End Size Type Name
UPD1: Проверил в BIOS - то же 33Mb... Похоже диск накрылся?
UPD2: Решил проблему при помощи hdparm:
# yum install hdparm
# hdparm -N p1953525168 /dev/sdb
# shutdown -P now
Есть сервер CentOS 7 с 2-мя сетевыми интерфейсами:
192.178.0.10 (LAN1 192.178.0.0/24 Gateway1 192.178.0.1)
10.10.0.1 (LAN2 10.10.0.0/24)
В сети LAN2 есть устройство 10.10.0.20, к которому нужно получить доступ из LAN1 (на 80 порт). LAN1 и LAN2 отдельные сети, которые не должны видеть друг-друга, за исключением нескольких правил (что-то видно из LAN1 в LAN2 и наоборот).
Подскажите, как настроить следующее:
1. Сделать переадресацию, например с 192.178.0.10:18080 на 10.10.0.10:80. Т.е. набрав на любом компьютере из LAN1 192.178.0.10:18080 попасть на 10.10.0.10:80 На сколько я себе представляю, нужно: прописать в /etc/sysctl.conf строку net.ipv4.ip_forward = 1, сбросить в состояние «разрешено все» правила IPTables и прописать в IPTables правило переадресации, вот с этим - у меня проблемы.
2. Как организовать доступ из LAN1 в LAN2 напрямую, т.е. чтобы набрав в сети LAN1 (192.178.0.0/24) на любом из ПК адрес 10.10.0.10:80 сразу попасть на 10.10.0.10:80. На сколько мне представляется, для этого нужно прописать на роутере (Mikrotik RouterOS) правила... и настроить VLAN на роутере и сервере? Или можно обойтись без VLAN?
Установил CentOS 7 на 1 HDD, настроил, решил подключить 2-ой HDD, но после подключения система перестает загружаться. В Bios выбран в качестве загрузочного 1-ый HDD
Со вторым винтом загрузка выглядит так:
[OK] Started Show Plymouth Boot Screen
[OK] Reached target Paths.
[OK] Reached target Basic System.
После ожидания несколько минут далее появляется:
[...] dracut-initqueue[269]: Warning: dracut-initqueue timeout - starting timeout scripts
...
[...] dracut-initqueue[269]: Warning: dracut-initqueue timeout - starting timeout scripts
[OK] Started dracut initqueue hook.
[OK] Reached target Remoted File Systems (Pre).
[OK] Reached target Remoted File Systems.
[***] A start job is running for dev-mapper-cl\x2droot.device ( XX / no limit)
После отключения 2-го HDD система грузится в штатном режиме. Подскажите, где искать причину, чтобы можно было подключить 2-ой HDD? На 2-ой HDD я пытался установить CentOS с разделами LVM, возможно связано с этим? 1 HDD также в LVM
Подскажите, как развернуть дамп MySQL, в котором содержится более одной БД, в БД с другими именами?
Выполняю дамп:
mysqldump -uroot -p -B base1 base2 base3 > bases.sql
А развернуть нужно примерно так: base1 -> base_dds, base2 -> megabse, base3 -> lib.
Возможно mysql умеет так разворачивать, или только скриптец писать, дампить БД по одной, и потом так же скриптом их заливать?
Попробовал настроить такую связку для репликации: MySQL 5.5 Master -> Mysql 5.5 MariaDB 10 Slave replication. Судя по логам - все работает, на главном видно подключение подчиненного, на подчиненном Read_Master_Log_Pos и Relay_Log_Pos постоянно увеличивается, Slave_IO_Running и Slave_SQL_Running - YES, но вот только не происходит обновления данных в slave таблице - то что было на время восстановления из дампа, то и осталось...
Подскажите, можно ли реплицировать MySQL master в MariaDB slave, и если да, то как искать проблему, из за которой не обновляются данные в slave таблице?
На один 4Тб HDD установлена CentOS 7.2. Докупил еще один 4Тб HDD, который хочу использовать в качестве резервного - если 1-ый винт навернется, переключиться в BIOS на загрузку со 2-го. Зеркальный софтовый рейд делать не охота, так как потеряется 4Тб дискового пространства. Подскажите, как клонировать HDD (перенести разделы /; /boot; /var; /usr) и время от времени поддерживать их в актуальном состоянии. Файловая система XFS, на всех разделах, кроме /boot (ext3).
Что я планирую сделать: 1. Разметить новый HDD (sdb) идентично старому (parted) 2. Перенести загрузчик (grub2) из sda в sdb (не совсем понимаю, как это сделать, да и можно ли это делать из под работающей системы или только с LiveCD) 3. Чем можно время от времени клонировать разделы: /; /boot; /usr; /var из под работающей системы для поддержания данных на sdb в актуальном состоянии?