-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scylladb 4.0 following "get started" guide with 1 node is failing #6528
Comments
You run within an old VM with very old cpu emulation, pls update the VM
config.
May 27 17:56:29 fasfasf.novalocal scylla_prepare[8984]: Scylla
requires the sse4.2 and clmul instruction sets, check your processor
and hypervisor
…On Wed, May 27, 2020 at 11:24 AM Born2Bake ***@***.***> wrote:
*Installation details*
Scylla version (or git commit hash): 4.0.1
Cluster size: 1 node
OS (RHEL/CentOS/Ubuntu/AWS AMI): Centos 7 1804
*Hardware details (for performance issues)* 8 vCPU, 16GB RAM
Platform (physical/VM/cloud instance type/docker): VM - openstack
Hardware: sockets= cores= hyperthreading= memory=
Disks: (SSD/HDD, count) HDD
Hey guys, I need help with ScyllaDB installation and testing. I am
following "Get Started" guide on Centos 7-1804 (8VCPU's, 16GB RAM, vm in
openstack). Package scylla-4.0.1-0.20200524.8d9bc57aca6.x86_64 already
installed and latest version. Info (raid is already done since I ran the
script before):
sudo scylla_setup --no-raid-setup
WARN 2020-05-27 17:53:24,602 [shard 0] iotune - Available space on filesystem at /var/tmp/mnt: 124 MB: is less than recommended: 10 GB
INFO 2020-05-27 17:53:24,602 [shard 0] iotune - /var/tmp/mnt passed sanity checks
This is a supported kernel version.
Scylla requires a processor with SSE 4.2 and PCLMUL support
A Scylla executable was not found, please check your installation You current Scylla release is unknown while the latest patch release is 4.0.1, update for the latest bug fixes and improvements
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.mirohost.net
* epel: ftp.icm.edu.pl
* extras: mirror.mirohost.net
* updates: mirror.mirohost.net
Package ntp-4.2.6p5-29.el7.centos.x86_64 already installed and latest version
Package ntpdate-4.2.6p5-29.el7.centos.x86_64 already installed and latest version
Nothing to do
27 May 17:53:38 ntpdate[8838]: adjust time server 91.210.190.13 offset -0.003933 sec
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
tuning /sys/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb
tuning: /sys/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb/queue/nomerges 2
tuning /sys/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb
tuning /sys/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb
tuning /sys/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb
tuning /sys/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb
INFO 2020-05-27 17:53:48,546 [shard 0] iotune - /var/lib/scylla/saved_caches passed sanity checks
WARN 2020-05-27 17:53:48,546 [shard 0] iotune - Scheduler for /sys/devices/pci0000:00/0000:00:06.0/virtio3/block/vdb/queue/scheduler set to mq-deadline. It is recommend to set it to noop before evaluation so as not to skew the results.
Starting Evaluation. This may take a while...
Measuring sequential write bandwidth: 33 MB/s
Measuring sequential read bandwidth: 130 MB/s
Measuring random write IOPS: 647 IOPS
Measuring random read IOPS: 1451 IOPS
Writing result to /etc/scylla.d/io_properties.yaml
Writing result to /etc/scylla.d/io.conf
node_exporter already installed, you can use `--force` to force reinstallation
node exporter setup failed.
sudo systemctl start scylla-server
Job for scylla-server.service failed because the control process exited with error code. See "systemctl status scylla-server.service" and "journalctl -xe" for details.
***@***.*** ~]$ systemctl status scylla-server.service
● scylla-server.service - Scylla Server
Loaded: loaded (/usr/lib/systemd/system/scylla-server.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/scylla-server.service.d
└─capabilities.conf, mounts.conf
Active: failed (Result: exit-code) since Wed 2020-05-27 17:56:29 UTC; 4s ago
Process: 8995 ExecStopPost=/opt/scylladb/scripts/scylla_stop (code=exited, status=0/SUCCESS)
Process: 8984 ExecStartPre=/opt/scylladb/scripts/scylla_prepare (code=exited, status=1/FAILURE)May 27 17:56:29 fasfasf.novalocal systemd[1]: Starting Scylla Server...
May 27 17:56:29 fasfasf.novalocal scylla_prepare[8984]: Scylla requires the sse4.2 and clmul instruction sets, check your processor and hypervisor
May 27 17:56:29 fasfasf.novalocal systemd[1]: scylla-server.service: control process exited, code=exited status=1
May 27 17:56:29 fasfasf.novalocal systemd[1]: Failed to start Scylla Server.
May 27 17:56:29 fasfasf.novalocal systemd[1]: Unit scylla-server.service entered failed state.
May 27 17:56:29 fasfasf.novalocal systemd[1]: scylla-server.service failed.
cat /proc/cpuinfo | grep flags | uniq - flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer hypervisor lahf_lm ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid tsc_adjust arat umip spec_ctrl intel_stibp arch_capabilities
scylla.yaml has default setup: cluster name specified, 1 seed - 127.0.0.1,
data directory specified, listen_address: localhost
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#6528>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANHURJWHIOUOUXQZ6YEIILRTVLG5ANCNFSM4NMMNIVA>
.
|
Hi, thank you for your response. Can you please specify what does it mean old VM with old cpu emulation? Its running on KVM (Openstack, latest train release). As you can see:
sse4_2 is there. |
clmul isn't there and scylla_prepare ORs sse4.2 with it.
No idea why your guest doesn't have this instruction, it's
old and I'm sure the physical cpu supports it.
…On Wed, May 27, 2020 at 12:05 PM Born2Bake ***@***.***> wrote:
You run within an old VM with very old cpu emulation, pls update the VM
config. May 27 17:56:29 fasfasf.novalocal scylla_prepare[8984]: Scylla
requires the sse4.2 and clmul instruction sets, check your processor and
hypervisor
Hi, thank you for your response.
Can you please specify what does it mean old VM with old cpu emulation?
Its running on KVM (Openstack, latest train release). As you can see:
cat /proc/cpuinfo | grep flags | uniq - flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni vmx ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer hypervisor lahf_lm ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid tsc_adjust arat umip spec_ctrl intel_stibp arch_capabilities
sse4_2 is there.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#6528 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANHURJGQ62P2D7JEPPWP33RTVQA7ANCNFSM4NMMNIVA>
.
|
From the docs: Scylla requires modern Intel CPUs that support the SSE4.2 instruction set and will not boot without it. If I check cpuinfo, sse4.2 is there.... its weird. Can I use earlier versions of Scylla then? Thank you |
You can try 3.0 (which is end of life already). The additional instruction
dependency
is from Aug 2019. Avi, do you have any idea why CLMUL isn't there?
commit 07010af
Author: Avi Kivity <avi@scylladb.com>
Date: Thu Aug 29 15:34:29 2019 +0300
scylla_prepare: verify processor satisfies instruction set requirements
Scylla requires the CLMUL and SSE 4.2 instruction sets and will fail
without them.
There is a check in main(), but that happens after the code is running
and it may
already be too late. Add a check in scylla_prepare which runs before
the main
executable.
diff --git a/dist/common/scripts/scylla_prepare
b/dist/common/scripts/scylla_prepare
index db3912fc5..acfc696b7 100755
--- a/dist/common/scripts/scylla_prepare
+++ b/dist/common/scripts/scylla_prepare
@@ -25,7 +25,19 @@ import sys
import glob
from scylla_util import *
+def verify_cpu():
+ if platform.machine() == 'x86_64':
+ needed_flags = set(['sse4_2', 'pclmulqdq'])
+ for line in open('/proc/cpuinfo'):
+ if line.startswith('flags'):
+ flags = set(line.split()[2:])
+ if not needed_flags <= flags:
+ print('Scylla requires the sse4.2 and clmul
instruction sets, check your processor and hypervisor')
+ sys.exit(1)
+
if __name__ == '__main__':
+ verify_cpu()
+
…On Wed, May 27, 2020 at 3:58 PM Born2Bake ***@***.***> wrote:
clmul isn't there and scylla_prepare ORs sse4.2 with it. No idea why your
guest doesn't have this instruction, it's old and I'm sure the physical cpu
supports it.
… <#m_4266168427673913704_>
From the docs: Scylla requires modern Intel CPUs that support the SSE4.2
instruction set and will not boot without it.
If I check cpuinfo, sse4.2 is there.... its weird. Can I use earlier
versions of Scylla then?
Thank you
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#6528 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANHURIEZBXNG4CLB64WNGDRTWLJ7ANCNFSM4NMMNIVA>
.
|
On Thu, May 28, 2020 at 1:38 AM Dor Laor ***@***.***> wrote:
clmul isn't there and scylla_prepare ORs sse4.2 with it.
A silly, but important, comment:
There is no reason why Scylla should check a OR and then report that it
failed the OR. It should check both and then give you this list of exactly
the missing features.
It will be a few more lines of code but the result will be more useful for
the user who typically has no idea what is "clmul" or how sse4.2 is
different from any other sse version.
No idea why your guest doesn't have this instruction, it's
old and I'm sure the physical cpu supports it.
This is true. The clmul instruction is available on all Intel and AMD CPUs
for more than seven years now (it was actually announced 12 years ago).
Usually, I dislike software insisting on particular configuration and
prefer that it tries to make due with what it got (i.e., Scylla could have
used a slightly slower instruction instead of clmul if clmul isn't
available). But in this case, I do believe that Scylla did the right thing
- it helped you discover that you have a misconfigured VM - a VM that
doesn't give you the clmul instruction for no good reason because the
hardware surely has it.
|
so lets check each feature and print the correct error message |
Let's report each missing CPU feature individually, and improve the error message a bit. For example, if the "clmul" instruction is missing, the report looks as follows: ERROR: You will not be able to run Scylla on this machine because its CPU lacks the following features: pclmulqdq If this is a virtual machine, please update its CPU feature configuration or upgrade to a newer hypervisor. Fixes scylladb#6528
Minor, not backporting. |
Installation details
Scylla version (or git commit hash): 4.0.1
Cluster size: 1 node
OS (RHEL/CentOS/Ubuntu/AWS AMI): Centos 7 1804
Hardware details (for performance issues) 8 vCPU, 16GB RAM
Platform (physical/VM/cloud instance type/docker): VM - openstack
Hardware: sockets= cores= hyperthreading= memory=
Disks: (SSD/HDD, count) HDD
Hey guys, I need help with ScyllaDB installation and testing. I am following "Get Started" guide on Centos 7-1804 (8VCPU's, 16GB RAM, vm in openstack). Package scylla-4.0.1-0.20200524.8d9bc57aca6.x86_64 already installed and latest version. Info (raid is already done since I ran the script before):
scylla.yaml has default setup: cluster name specified, 1 seed - 127.0.0.1, data directory specified, listen_address: localhost
The text was updated successfully, but these errors were encountered: