]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph.spec.in,debian/rules: change aio-max-nr to 1048576 18540/head
authorchenliuzhong <liuzhong.chen@easystack.cn>
Tue, 24 Oct 2017 02:54:33 +0000 (10:54 +0800)
committerSage Weil <sage@redhat.com>
Wed, 25 Oct 2017 15:32:23 +0000 (10:32 -0500)
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>
(cherry picked from commit 36326dc7104fc2f20f19d51b6f618a029ba072d7)

ceph.spec.in
debian/ceph-osd.install
debian/ceph-osd.postinst
debian/rules
src/90-ceph-osd.conf [new file with mode: 0644]

index 8f3a0051bb381f2de22ca12d385dc0d8512960bd..4ff8ccd74f965a745db2c95729075aebabb82952 100644 (file)
@@ -884,6 +884,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}
@@ -1420,6 +1421,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}
@@ -1433,6 +1435,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 0a386269f919a08c44a11afb917a29cb5524e6bc..87cd5011c1ec44ee52556c3cc1f6db888516ae76 100644 (file)
@@ -20,3 +20,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 92bc0b5877660b60adfd5aac156d35af382b6a0f..857888f84e764632b5e3eee1f4d37a41ccdd3f97 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