From: chenliuzhong Date: Tue, 24 Oct 2017 02:54:33 +0000 (+0800) Subject: ceph.spec.in,debian/rules: change aio-max-nr to 1048576 X-Git-Tag: v13.0.1~430^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=36326dc7104fc2f20f19d51b6f618a029ba072d7;p=ceph-ci.git ceph.spec.in,debian/rules: change aio-max-nr to 1048576 when osd is more than 14 in one host,it report error that aio is not enough. As the default aio-max-nr is 65536, one OSD needs 4096 aios and other programs may use aios. This patch change aio-max-nr to 1048576 when install ceph-osd rpm package and debian package Signed-off-by: chenliuzhong --- diff --git a/ceph.spec.in b/ceph.spec.in index 395f8475ba0..1b1a23b1fd1 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -885,6 +885,7 @@ mkdir -p %{buildroot}%{_sbindir} install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING +install -m 0644 -D src/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -1425,6 +1426,7 @@ fi %{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd +%config(noreplace) %{_sysctldir}/90-ceph-osd.conf %post osd %if 0%{?suse_version} @@ -1438,6 +1440,11 @@ fi if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || : fi +%if 0%{?sysctl_apply} + %sysctl_apply 90-ceph-osd.conf +%else + /usr/lib/systemd/systemd-sysctl %{_sysctldir}/90-ceph-osd.conf > /dev/null 2>&1 || : +%endif %preun osd %if 0%{?suse_version} diff --git a/debian/ceph-osd.install b/debian/ceph-osd.install index b68e1a3b011..6e03f1b8df9 100644 --- a/debian/ceph-osd.install +++ b/debian/ceph-osd.install @@ -21,3 +21,4 @@ usr/share/man/man8/ceph-volume.8 usr/share/man/man8/ceph-volume-systemd.8 usr/share/man/man8/ceph-osd.8 usr/share/man/man8/ceph-bluestore-tool.8 +etc/sysctl.d/30-ceph-osd.conf diff --git a/debian/ceph-osd.postinst b/debian/ceph-osd.postinst index b642dfe3464..5e44548fe82 100644 --- a/debian/ceph-osd.postinst +++ b/debian/ceph-osd.postinst @@ -23,6 +23,7 @@ set -e case "$1" in configure) + [ -x /etc/init.d/procps ] && invoke-rc.d procps restart || : [ -x /sbin/start ] && start ceph-osd-all || : ;; abort-upgrade|abort-remove|abort-deconfigure) diff --git a/debian/rules b/debian/rules index 30e5a022bf8..731cf1fb79d 100755 --- a/debian/rules +++ b/debian/rules @@ -50,6 +50,7 @@ override_dh_auto_install: install -D -m 644 udev/95-ceph-osd.rules $(DESTDIR)/lib/udev/rules.d/95-ceph-osd.rules install -D -m 644 udev/60-ceph-by-parttypeuuid.rules $(DESTDIR)/lib/udev/rules.d/60-ceph-by-parttypeuuid.rules install -D -m 644 src/etc-rbdmap $(DESTDIR)/etc/ceph/rbdmap + install -D -m 644 src/90-ceph-osd.conf $(DESTDIR)/etc/sysctl.d/30-ceph-osd.conf # doc/changelog is a directory, which confuses dh_installchangelogs override_dh_installchangelogs: diff --git a/src/90-ceph-osd.conf b/src/90-ceph-osd.conf new file mode 100644 index 00000000000..c5c64bb7052 --- /dev/null +++ b/src/90-ceph-osd.conf @@ -0,0 +1 @@ +fs.aio-max-nr = 1048576