]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
ceph.spec.in,debian/rules: change aio-max-nr to 1048576
authorchenliuzhong <liuzhong.chen@easystack.cn>
Tue, 24 Oct 2017 02:54:33 +0000 (10:54 +0800)
committerchenliuzhong <liuzhong.chen@easystack.cn>
Tue, 24 Oct 2017 05:16:36 +0000 (13:16 +0800)
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 <liuzhong.chen@easystack.cn>
ceph.spec.in
debian/ceph-osd.install
debian/ceph-osd.postinst
debian/rules
src/90-ceph-osd.conf [new file with mode: 0644]

index 395f8475ba04b3cccab64d7bc66f6982ce2f0fc5..1b1a23b1fd19c442ea50e67e0ddc0470a33a98bd 100644 (file)
@@ -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}
index b68e1a3b011f6c40ca3075474e4224d880d61907..6e03f1b8df94da851a85355cd275677a3c210343 100644 (file)
@@ -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
index b642dfe346455526d82b6c5ad97b989a97ff7fcb..5e44548fe826177d9c78c589f0611207d334d7e5 100644 (file)
@@ -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)
index 30e5a022bf8efac653c2286c61aefa97264160fd..731cf1fb79dcb54918c06f76b4b201b66a544f03 100755 (executable)
@@ -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 (file)
index 0000000..c5c64bb
--- /dev/null
@@ -0,0 +1 @@
+fs.aio-max-nr = 1048576