如何解决搭载 Ubuntu Server 21.04 的 Raspberry Pi 上出现“非法指令”崩溃的问题

如何解决搭载 Ubuntu Server 21.04 的 Raspberry Pi 上出现“非法指令”崩溃的问题

我正在尝试在一组 Raspberry Pi 4 机器(8Gb 内存)上设置一个 Ceph 集群。

不幸的是,在安装集群的过程中,我收到了非法指令:

/usr/bin/ceph-osd --cluster ceph --osd-objectstore bluestore --mkfs -i 0 --monmap /var/lib/ceph/osd/ceph-0/activate.monmap --keyfile - --osd-data /var/lib/ceph/osd/ceph-0/ --osd-uuid c339214
4-7d0d-4380-b714-ba92ef198298 --setuser ceph --setgroup ceph

*** Caught signal (Illegal instruction) **
in thread ffffae8b8930 thread_name:bstore_kv_sync
ceph version 16.2.0 (0c2054e95bcd9b30fdd908a79ac1d8bbc3394442) pacific (stable)
1: __kernel_rt_sigreturn()
2: (crc32c_arm64(unsigned int, unsigned char const*, unsigned int)+0x44c) [0xaaaad4a11c1c]
3: (rocksdb::log::Writer::EmitPhysicalRecord(rocksdb::log::RecordType, char const*, unsigned long)+0x60) [0xaaaad48f47a0]
4: (rocksdb::log::Writer::AddRecord(rocksdb::Slice const&)+0x98) [0xaaaad48f4938]
5: (rocksdb::DBImpl::WriteToWAL(rocksdb::WriteBatch const&, rocksdb::log::Writer*, unsigned long*, unsigned long*)+0x104) [0xaaaad488aee8]
6: (rocksdb::DBImpl::WriteToWAL(rocksdb::WriteThread::WriteGroup const&, rocksdb::log::Writer*, unsigned long*, bool, bool, unsigned long)+0xe0) [0xaaaad488c104]
7: (rocksdb::DBImpl::WriteImpl(rocksdb::WriteOptions const&, rocksdb::WriteBatch*, rocksdb::WriteCallback*, unsigned long*, unsigned long, bool, unsigned long*, unsigned long, rocksdb::PreReleaseCallback*)+0x1860) [0xaaaad4891f34]
8: (rocksdb::DBImpl::Write(rocksdb::WriteOptions const&, rocksdb::WriteBatch*)+0x44) [0xaaaad4892284]
9: (RocksDBStore::submit_common(rocksdb::WriteOptions&, std::shared_ptr<KeyValueDB::TransactionImpl>)+0x8c) [0xaaaad482c9fc]
10: (RocksDBStore::submit_transaction(std::shared_ptr<KeyValueDB::TransactionImpl>)+0x78) [0xaaaad482d4e8]
11: (BlueStore::_txc_apply_kv(BlueStore::TransContext*, bool)+0x3e0) [0xaaaad4332ee0]
12: (BlueStore::_kv_sync_thread()+0xb94) [0xaaaad4354604]
13: (BlueStore::KVSyncThread::entry()+0x10) [0xaaaad437bc30]
14: /lib/aarch64-linux-gnu/libpthread.so.0(+0x7e84) [0xffffb8606e84]
15: /lib/aarch64-linux-gnu/libc.so.6(+0xd6d1c) [0xffffb8558d1c]

这可能是什么原因造成的?我以为我从https://ubuntu.com/download/raspberry-pi将被编译用于 Raspberry Pi 4(看到它下面有一个“Works on:”横幅,显示 Raspberry Pi 4。我没有想到二进制文件中的指令在 Pi4 上不可用。

答案1

这似乎是一个已知(并且已解决)的错误:

https://tracker.ceph.com/issues/50579

所以我只需要等到 16.2.5 发布就可以解决我的问题。

相关内容