OpenVZ Forum


Home » International » Russian » Разное содержание файла в разных VE на NFS ресурсе
Разное содержание файла в разных VE на NFS ресурсе [message #15868] Wed, 15 August 2007 09:03 Go to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
Добрый день!

Странная штука, но один и тот же файл в разных VE имеет разное содержимое. Похоже, что при изменении файла(проверяли, изменение сохраняется в VE где изменили и на хосте экспортирующем файл) в контексте другой VE изменение не проходит (или файл берется из кэша).

Не уверен, что это связано c OpenVZ спецификой, но очень пакостная бага, прошу помощи.


[Updated on: Wed, 15 August 2007 09:03]

Report message to a moderator

Re: Разное содержание файла в разных VE на NFS ресурсе [message #15876 is a reply to message #15868] Wed, 15 August 2007 11:23 Go to previous messageGo to next message
vaverin is currently offline  vaverin
Messages: 708
Registered: September 2005
Senior Member
Hi salimon

Без деталей могу разве что Вам посочувствовать Smile
Oпишите пожалуйста проблему более детально. А если дадите (через PM) доступ на ноду -- попробую помочь.

С уважением,
Василий Аверин

[Updated on: Wed, 15 August 2007 11:23]

Report message to a moderator

Re: Разное содержание файла в разных VE на NFS ресурсе [message #15881 is a reply to message #15868] Wed, 15 August 2007 11:48 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
=), ок

NAS экспортируется каталог /exports/www
HN1 mount NAS:/exports/www /vz/root/100/var/www VE100 apache server
HN2 mount NAS:/exports/www /vz/root/101/var/www VE101 developer ssh/ftp access

Например, девелопер открывает в браузере http://site-A/index.php ok
правит /var/www/site-A/index.php, в браузере отображается старое содержимое index.php
Смотрим изнутри VE100, да, файл на самом деле старый.
Смотрим изнутри VE101, NAS файл c правильным содержимым.

PS.
Похоже cache общий для всех VE на HN, т.е. если меняем в VE на HN1, то другим VE на HN1 изменения видимы, а внутри VE на HN2 видим старый контент файла.

[Updated on: Wed, 15 August 2007 13:02]

Report message to a moderator

Re: Разное содержание файла в разных VE на NFS ресурсе [message #15887 is a reply to message #15881] Wed, 15 August 2007 12:42 Go to previous messageGo to next message
den is currently offline  den
Messages: 494
Registered: December 2005
Senior Member
Though, as sad by Vasily, some details are needed. There is no useful information in your request.

1. could you provide your /etc/exports on the server side and information what server you are using
2. Plz provide
cat /proc/mounts on both VEs
3. Could you provide more detailed how you change files and verifies that the change have taken place? Simple
echo aaa > file
and subsequent content file verification does not have the problem you report

Regards,
Den
Re: Разное содержание файла в разных VE на NFS ресурсе [message #15889 is a reply to message #15887] Wed, 15 August 2007 12:48 Go to previous messageGo to next message
vaverin is currently offline  vaverin
Messages: 708
Registered: September 2005
Senior Member
Ден по привычке отписал по английски Smile
Перевожу -- "пожалуйста, опишите проблему как можно более детально"
От себя добавлю, что если дадите нам доступ на Ваши ноды, нам будет проще разобраться в ситуации.

С уважением,
Василий Аверин
Re: Разное содержание файла в разных VE на NFS ресурсе [message #15894 is a reply to message #15868] Wed, 15 August 2007 13:25 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
Подробности, и как воспроизводится:

# NAS
[root@storage ~]# cat /etc/exports
/exports/homedirs/common *(rw,no_root_squash,async)
/exports/vps *(rw,no_root_squash,async)

# HN1
[root@c2d ~]# cat /proc/mounts |grep -E '1004'
/vz/private/1004 /vz/root/1004 simfs rw 0 0
/dev/root /vz/root/1004/tmp ext3 rw,data=ordered 0 0
192.168.0.21:/exports/home /vz/root/1004/home nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
192.168.0.21:/exports/fex/exchange /vz/root/1004/fex nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
192.168.0.21:/exports/share/apps /vz/root/1004/opt/apps nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
192.168.0.21:/exports/share/repos /vz/root/1004/repos nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
proc /vz/root/1004/proc proc rw 0 0
sysfs /vz/root/1004/sys sysfs rw 0 0
tmpfs /vz/root/1004/var/run tmpfs rw 0 0
tmpfs /vz/root/1004/var/lock tmpfs rw 0 0
devpts /vz/root/1004/dev/pts devpts rw 0 0
tmpfs /vz/root/1004/dev/shm tmpfs rw 0 0
tmpfs /vz/root/1004/var/run tmpfs rw 0 0
tmpfs /vz/root/1004/var/lock tmpfs rw 0 0

# HN2
[root@services /]# cat /proc/mounts |grep -E '(1008|1030)'
/vz/private/1008 /vz/root/1008 simfs rw 0 0
192.168.0.21:/exports/home /vz/root/1008/home nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
192.168.0.21:/exports/fex/exchange /vz/root/1008/fex nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
192.168.0.21:/exports/share/veda /vz/root/1008/exports/share/veda nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
/proc /vz/root/1008/proc proc rw 0 0
/sys /vz/root/1008/sys sysfs rw 0 0
none /vz/root/1008/dev/pts devpts rw 0 0
/vz/private/1030 /vz/root/1030 simfs rw 0 0
192.168.0.21:/exports/home /vz/root/1030/home nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
192.168.0.21:/exports/fex/exchange /vz/root/1030/fex nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
192.168.0.21:/exports/share/repos /vz/root/1030/repos nfs rw,nosuid,vers=3,rsize=32768,wsize=32768,hard,intr,nolock,pr oto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.21 0 0
proc /vz/root/1030/proc proc rw 0 0
sysfs /vz/root/1030/sys sysfs rw 0 0
tmpfs /vz/root/1030/var/run tmpfs rw 0 0
tmpfs /vz/root/1030/var/lock tmpfs rw 0 0
devpts /vz/root/1030/dev/pts devpts rw 0 0
tmpfs /vz/root/1030/dev/shm tmpfs rw 0 0
tmpfs /vz/root/1030/var/run tmpfs rw 0 0
tmpfs /vz/root/1030/var/lock tmpfs rw 0 0

HN1 VE1004
1. cat > fs-cache_bug.php<<EOF
<?php
phpinfo();
?>
EOF

HN1 VE1004
user@host1004:~/public_html/cache$ cat fs-cache_bug.php
<?php
phpinfo();
?>

HN2 VE1008
[root@samba cache]# cat fs-cache_bug.php
<?php
phpinfo();
?>

HN2 VE1030
root@httpd:/home/user/public_html/cache# cat fs-cache_bug.php
<?php
phpinfo();
?>

HN2 VE1008
[root@samba cache]# echo "<?php echo "1008"; ?>" >> fs-cache_bug.php
[root@samba cache]# cat fs-cache_bug.php
<?php
phpinfo();
?>
<?php echo 1008; ?>

HN2 VE1030
root@httpd:/home/user/public_html/cache# cat fs-cache_bug.php
<?php
phpinfo();
?>
<?php echo 1008; ?>

HN1 VE1004
user@host1004:~/public_html/cache$ cat fs-cache_bug.php
<?php
phpinfo();
?>

PS.
Совсем забыл , везде Centos 5 x86_64/2.6.18-8.1.8.el5.028stab039.1.sa.1

[Updated on: Wed, 15 August 2007 13:27]

Report message to a moderator

Re: Разное содержание файла в разных VE на NFS ресурсе [message #15939 is a reply to message #15894] Thu, 16 August 2007 11:50 Go to previous messageGo to next message
den is currently offline  den
Messages: 494
Registered: December 2005
Senior Member
ситуация у нас на машинах воспроизвелась на 028stab037 и категорически отказалась воспроизводится на 028stab040 Smile в которое вошли существенные NFSные обновления

srpm от ядра я выложил на http://download.openvz.org/~den/ Если у вас есть желание и возможность посмотреть и потестить, что проблема действительно ушла - мы будем очень признательны. Ядро в настоящее время находится в тестировании, так что официальной отмашки о готовности релиза пока нет, но ситуация выглядит стабильной Smile

В настоящее время я смотрю, что же такое мы поменяли, что может иметь вот такой эффект.
Re: Разное содержание файла в разных VE на NFS ресурсе [message #15941 is a reply to message #15939] Thu, 16 August 2007 14:43 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member

Оперативно пофиксили, спасибо.

Ядро нормально собралось и воспроизвести проблему не получилось, день прошел не зря =)!
Завтра под реальной нагрузкой проверю.

[Updated on: Thu, 16 August 2007 16:00]

Report message to a moderator

Re: Разное содержание файла в разных VE на NFS ресурсе [message #15970 is a reply to message #15941] Fri, 17 August 2007 11:06 Go to previous messageGo to next message
den is currently offline  den
Messages: 494
Registered: December 2005
Senior Member
Я вас очень сильно огорчу.

После более пристального изучения, было выяснено, что вами отрапортовано нормальное поведение NFS для разных физических серверов. Внесенный мною фикс для остановки VE сломал это поведение. Оказалось, что в обоих этих VE NFS транспорт - общий и все счастье пропадет после остановки 1го VE.

Поэтому со следущим ядром все вернется на круги своя и содержимое файлов станет разным и будет синхронизироваться только по таймауту.
Re: Разное содержание файла в разных VE на NFS ресурсе [message #15971 is a reply to message #15970] Fri, 17 August 2007 11:15 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member

А счастье было так близко...

Есть ли способ обойти проблему или как-либо управлять временем синхронизации?

Re: Разное содержание файла в разных VE на NFS ресурсе [message #15972 is a reply to message #15971] Fri, 17 August 2007 11:43 Go to previous messageGo to next message
den is currently offline  den
Messages: 494
Registered: December 2005
Senior Member
Нормальные герои всегда идут в обход!

Модифицируйте mount скрипты для ваших ВЕ и монтируйте NFS для всех ваших ВЕ из контекста ВЕ0. Тогда оно будет "общее".

Суть: NFS для работы нужен сокет. Кто NFS монтирует, в контексте того сокет и создается. Контекст нужным образом переключается при чтении файлов, т.е. чтение данных с mount-а, смонтированного в VE в контексте VE, вызовет сетевые обмены в контексте VE.
Re: Разное содержание файла в разных VE на NFS ресурсе [message #15973 is a reply to message #15971] Fri, 17 August 2007 11:49 Go to previous messageGo to next message
den is currently offline  den
Messages: 494
Registered: December 2005
Senior Member
или смонтируйте в VE0 и монтируйте в VE bind-mount-ом
Re: Разное содержание файла в разных VE на NFS ресурсе [message #15981 is a reply to message #15973] Fri, 17 August 2007 15:32 Go to previous messageGo to next message
saimon is currently offline  saimon
Messages: 85
Registered: November 2006
Member
У меня и так все монтируется в контексте VE0, т.е. в скрипт $VEID.mount вставлены команды вида
mount -t nfs -n -o nosuid,hard,intr,nolock,rsize=32768,wsize=32768,nfsvers=3,tc p "$SRC" "$MPOINT"

PS.
Может я туплю, но все-же, при монтировании всех внешних NFS ресурсов в контексте VE0 из скриптов $VEID.mount можно добиться синхронности данных на разных физических серверах?
Re: Разное содержание файла в разных VE на NFS ресурсе [message #15982 is a reply to message #15981] Fri, 17 August 2007 15:53 Go to previous message
den is currently offline  den
Messages: 494
Registered: December 2005
Senior Member
тогда надо пробовать вариант (б):
монтировать как NFS 1 раз, а внутрь ВЕ монтировать биндом
Previous Topic: Start/Stop VE в заданном порядке, зависимость друг от друга (
Next Topic: Ограничение скорости
Goto Forum:
  


Current Time: Thu May 09 20:07:06 GMT 2024

Total time taken to generate the page: 0.01612 seconds