доброго времени суток. возникла проблема с network namespace в centos7.2, команда ip netns exec namespace_name ip link падает с ошибкой «mount of /sys failed: No such file of directory», добавил отладочного вывода в iproute2, пересобрал утилиту, нашёл что ошибка возникает в функции:
namespace.c:
int netns_switch(char *name)
{
..........
/* Mount a version of /sys that describes the network namespace */
if (umount2("/sys", MNT_DETACH) < 0) {
fprintf(stderr, "umount of /sys failed: %s\n", strerror(errno));
return -1;
}
if (mount(name, "/sys", "sysfs", 0, NULL) < 0) {
fprintf(stderr, "mount of /sys failed: %s\n",strerror(errno)); //«««««««««HERE
return -1;
}
.........
}
в другой вм centos7.2 такого же билда команда отрабатывает. в нормальной системе «mount nsnginx /sys -t sysfs» > «mount: nsnginx is already mounted or /sys busy» в проблемной «mount: special device nsnginx does not exist». по ссылке иллюстрация: https://drive.google.com/open?id=1WtS2fjHyC3fUUTD5fujS1t0cx7qHzJER