Size: a a a

2020 September 06

A

Alexander in DevOps
Dmitry Sergeev
когда sleep 300 пройдет. Как посмотреть и проверить существование этого mountns?
ls /path/to/file, который ты указал в параметре у unshare
источник

N

Navern in DevOps
Dmitry Sergeev
да мне реально интересно
navern@errnil:~$ sudo ip netns add foobar
navern@errnil:~$ sudo ls -lah /var/run/netns/
total 0
drwxr-xr-x  2 root root   60 сен  6 12:50 .
drwxr-xr-x 38 root root 1,3K сен  6 12:50 ..
-r--r--r--  1 root root    0 сен  6 12:50 foobar
navern@errnil:~$ sudo ip netns exec foobar ip a add 128.128.128.128/32 dev lo
navern@errnil:~$
navern@errnil:~$
navern@errnil:~$ ip a show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
navern@errnil:~$ ip netns exec foobar ip a show dev lo
setting the network namespace "foobar" failed: Operation not permitted
navern@errnil:~$ sudo ip netns exec foobar ip a show dev lo
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 128.128.128.128/32 scope global lo
      valid_lft forever preferred_lft forever
navern@errnil:~$
источник

N

Navern in DevOps
неймспейс не существует, а настройки сохраняются! ого
источник

A

Alexander in DevOps
Navern
неймспейс не существует, а настройки сохраняются! ого
В ядре - существует.
источник

N

Navern in DevOps
Alexander
В ядре - существует.
я про это и писал выше)
источник

N

Navern in DevOps
Navern
неймспейс не существует, а настройки сохраняются! ого
а это сарказм
источник

A

Alexander in DevOps
Просто из юзерспейса не видно.
источник

A

Alexander in DevOps
Navern
а это сарказм
Ну ок :/
источник

DS

Dmitry Sergeev in DevOps
Navern
navern@errnil:~$ sudo ip netns add foobar
navern@errnil:~$ sudo ls -lah /var/run/netns/
total 0
drwxr-xr-x  2 root root   60 сен  6 12:50 .
drwxr-xr-x 38 root root 1,3K сен  6 12:50 ..
-r--r--r--  1 root root    0 сен  6 12:50 foobar
navern@errnil:~$ sudo ip netns exec foobar ip a add 128.128.128.128/32 dev lo
navern@errnil:~$
navern@errnil:~$
navern@errnil:~$ ip a show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
navern@errnil:~$ ip netns exec foobar ip a show dev lo
setting the network namespace "foobar" failed: Operation not permitted
navern@errnil:~$ sudo ip netns exec foobar ip a show dev lo
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 128.128.128.128/32 scope global lo
      valid_lft forever preferred_lft forever
navern@errnil:~$
Да, нагдядный пример. Дейсвтиетельно, где-то эта инфа хранится
источник

DS

Dmitry Sergeev in DevOps
Alexander
Ну ок :/
с mountns также работает?
источник

A

Alexander in DevOps
Dmitry Sergeev
с mountns также работает?
С любыми неймспейсами.
источник

DS

Dmitry Sergeev in DevOps
интересно
источник

N

Navern in DevOps
про любые неймспейсы не знал кстати
источник

DS

Dmitry Sergeev in DevOps
Alexander
С любыми неймспейсами.
а есть тулзы, которые могут по ядру смотреть эти ns'ы? А не по pid'ам из /proc?
источник

A

Alexander in DevOps
Dmitry Sergeev
а есть тулзы, которые могут по ядру смотреть эти ns'ы? А не по pid'ам из /proc?
Нет
источник

DS

Dmitry Sergeev in DevOps
Alexander
Нет
ну получается изначальную задачу не решить. Невможно найти mountns убитого процесса. Никакие тулзы не позволяют это сделать
источник

A

Alexander in DevOps
Ну, может, через systemtap (или что-то подобное), разве что, накидать, если он позволяет в эти места смотреть
источник

N

Navern in DevOps
ebpf:) но хз можно или нет)
источник

A

Alexander in DevOps
Dmitry Sergeev
ну получается изначальную задачу не решить. Невможно найти mountns убитого процесса. Никакие тулзы не позволяют это сделать
Mountns не принадлежит процессу, это процессы принадлежат неймспейсу (и держат его дескриптор). Пока есть хоть один держатель дескриптора - неймспейс существует. Задача в такой сииуацми - найти дескриптор, а не процесс.
источник

DS

Dmitry Sergeev in DevOps
Alexander
Mountns не принадлежит процессу, это процессы принадлежат неймспейсу (и держат его дескриптор). Пока есть хоть один держатель дескриптора - неймспейс существует. Задача в такой сииуацми - найти дескриптор, а не процесс.
так если нет процесса, кто тогда держит дескриптор?
источник