Решено.
/tmp был смонтирован noexec.
Обновлен /etc/fstab для монтирования /tmp w exec, и эта проблема решена.
Частично обсуждалось здесь https://github.com/elastic/elasticsearch/issues/18406
Оптимальный размер ввода/вывода второго диска намного больше, чем у первого; это, вероятно, то, что вызывает проблему. В этой статье от 2013 г. предлагается вручную выравнивать разделы, начиная с (Оптимальный ввод-вывод + смещение выравнивания )/ Размер физического блока = начальный срез, и читая, как разделенные слова в настоящее время кажется, что это было свернуто в том, как parted работает по умолчанию. Теперь выполнение этой математики с вашими параметрами возвращает 8191.875 в качестве начального среза, что, вероятно, не является допустимым адресом сектора.
Мне кажется наиболее вероятным, что ваш USB-корпус искажает оптимальный ввод-вывод накопителя. Я бы попробовал вручную указать начальный сектор как 2048, соответствующий первому диску, когда вы пытаетесь создать раздел, используя mkpart primary 2048s 100%
. Это должно работать вокруг этого.
Если у вас есть возможность, вы можете проверить это заранее, подключив накопитель к компьютеру без корпуса USB, а затем проверив /sys/block/[drive]/queue/optimal_io_size
, существует ли он. Если они не совпадают, вероятно, USB-корпус неверно сообщает о возможностях накопителя.
Это была проблема в fdisk
в утилите -linux. Некоторое время назад я сообщил в апстрим, и это было исправлено:
https://github.com/karelzak/util-linux/commit/acb7651f8897ae73d0f45dd75bc87630001c61b9
Таким образом, если вы используете fdisk в утилите -linux v2.27 -rc1 или более поздней версии для создания разделов , вы не столкнетесь с этой проблемой.
Я не уверен, что parted
имеет ту же проблему, если да, то, вероятно, следует ввести аналогичный хак. (Так что отправьте отчет об ошибке в вышестоящую ветвь, если вы хотите, чтобы она была исправлена :http://savannah.gnu.org/projects/parted/)
РЕДАКТИРОВАТЬ :Просто обратите внимание, что вы используете GPT на обоих дисках. IIRC gdisk
не страдает от этой проблемы, потому что он не вычисляет выравнивание с использованием оптимального размера ввода-вывода, вместо этого он статически по умолчанию равен 2048 и позволяет вам установить его в любой диапазон значений от 1 -65536(x
->l
).