Sachverhalt:
A.
Der 1957 geborene A._ meldete sich im November 2015 bei der Invalidenversicherung zum Leistungsbezug an. Nach Abklärungen und Durchführung des Vorbescheidverfahrens sprach ihm die IV-Stelle Luzern mit Verfügung vom 8. September 2017 eine Viertelsrente ab dem 1. Mai 2016 zu (Invaliditätsgrad von 45 %).
B.
Die dagegen erhobene Beschwerde wies das Kantonsgericht Luzern mit Entscheid vom 29. April 2019 ab.
C.
A._ lässt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen, unter Aufhebung des Entscheids vom 29. April 2019 und der Verfügung vom 8. September 2017 sei ihm eine halbe Invalidenrente ab dem 1. Mai 2016 auszurichten.

Erwägungen:
1.
Mit der Beschwerde in öffentlich-rechtlichen Angelegenheiten kann eine Rechtsverletzung nach Art. 95 f. BGG gerügt werden. Das Bundesgericht wendet das Recht von Amtes wegen an (<ref-law>). Dennoch prüft es - offensichtliche Fehler vorbehalten - nur die in seinem Verfahren gerügten Rechtsmängel (Art. 42 Abs. 1 f. BGG; <ref-ruling> E. 2.2.1 S. 389). Es legt seinem Urteil den Sachverhalt zugrunde, den die Vorinstanz festgestellt hat (<ref-law>). Es kann ihre Sachverhaltsfeststellung von Amtes wegen berichtigen oder ergänzen, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von <ref-law> beruht und wenn die Behebung des Mangels für den Verfahrensausgang entscheidend sein kann (Art. 97 Abs. 1, Art. 105 Abs. 2 BGG).
2.
Bei einem Invaliditätsgrad von mindestens 40 % besteht Anspruch auf eine Viertelsrente, während der Anspruch auf eine halbe Rente eine Invalidität von mindestens 50 % voraussetzt (<ref-law>). Für die Bestimmung des Invaliditätsgrades wird das Erwerbseinkommen, das die versicherte Person nach Eintritt der Invalidität und nach Durchführung der medizinischen Behandlung und allfälliger Eingliederungsmassnahmen durch eine ihr zumutbare Tätigkeit bei ausgeglichener Arbeitsmarktlage erzielen könnte, in Beziehung gesetzt zum Erwerbseinkommen, das sie erzielen könnte, wenn sie nicht invalid geworden wäre (<ref-law> i.V.m. <ref-law>). Der Einkommensvergleich hat in der Regel in der Weise zu erfolgen, dass die beiden hypothetischen Erwerbseinkommen ziffernmässig möglichst genau ermittelt und einander gegenübergestellt werden, worauf sich aus der Einkommensdifferenz der Invaliditätsgrad bestimmen lässt (Urteil 9C_63/2018 vom 9. November 2018 E. 4.4.2).
3.
Das kantonale Gericht hat festgestellt, dem Beschwerdeführer sei die angestammte Tätigkeit als IT-Systemspezialist in einem Ganztagespensum mit einer Leistungsminderung von 40 % zumutbar. Für den Einkommenvergleich des Jahres 2016 hat es gestützt auf die Angaben des letzten Arbeitgebers (Bundesamt für Informatik und Telekommunikation) ein Valideneinkommen von Fr. 137'819.50 ermittelt. Das Invalideneinkommen hat es ausgehend von einem Tabellenlohn der schweizerischen Lohnstrukturerhebung des Bundesamtes für Statistik (LSE) auf Fr. 69'773.95 festgelegt; einen Abzug vom Tabellenlohn hat es nicht vorgenommen. Beim resultierenden Invaliditätsgrad von 49 % hat es den Anspruch auf eine Viertelsrente bestätigt.
4.
4.1. Umstritten ist einzig, ob vom Invalideneinkommen ein Abzug vorzunehmen ist. Der Beschwerdeführer beruft sich dafür auf seine eingeschränkte Arbeitsfähigkeit (reduzierter Beschäftigungsgrad), ungenügend berücksichtigte gesundheitliche Beeinträchtigungen, sein Alter und die Dienstjahre beim letzten Arbeitgeber.
4.2. Vom anhand der LSE-Tabellenlöhne ermittelten Invalideneinkommen kann unter bestimmten Voraussetzungen ein Abzug vorgenommen werden. Damit soll der Tatsache Rechnung getragen werden, dass persönliche und berufliche Merkmale, wie Art und Ausmass der Behinderung, Lebensalter, Dienstjahre, Nationalität oder Aufenthaltskategorie und Beschäftigungsgrad Auswirkungen auf die Lohnhöhe haben können und je nach Ausprägung die versicherte Person deswegen die verbliebene Arbeitsfähigkeit auch auf einem ausgeglichenen Arbeitsmarkt nur mit unterdurchschnittlichem erwerblichem Erfolg verwerten kann. Der Einfluss aller Merkmale auf das Invalideneinkommen ist unter Würdigung der Umstände im Einzelfall nach pflichtgemässem Ermessen gesamthaft zu schätzen. Der Abzug darf 25 % nicht übersteigen (<ref-ruling> E. 5.2 S. 301; <ref-ruling> E. 5b/aa-cc S. 79 f.; SVR 2019 UV Nr. 7 S. 27, 8C_58/2018 E. 3.1.1).
4.3. Ob ein Abzug vom Tabellenlohn (vgl. <ref-ruling> E. 5b/aa-cc S. 79 f.) vorzunehmen ist, stellt eine vom Bundesgericht frei überprüfbare Rechtsfrage dar (vgl. statt vieler Urteil 9C_557/2018 vom 12. Februar 2019 E. 8.1.2).
4.4.
4.4.1. Das kantonale Gericht hat (verbindlich; E. 1) festgestellt, dem Versicherten sei ein Ganztagespensum zumutbar, er sei nicht auf eine Teilzeitarbeit angewiesen. Nach der Rechtsprechung des Bundesgerichts ist bei Männern ein Abzug vom Tabellenlohn unter dem Titel Beschäftigungsgrad allenfalls bei einer gesundheitlich bedingten Teilzeiterwerbstätigkeit, nicht aber bei einer Vollzeiterwerbstätigkeit mit gesundheitlich bedingt eingeschränkter Leistungsfähigkeit gerechtfertigt (statt vieler Urteile 9C_232/2019 vom 26. Juni 2019 E. 3.1; 9C_38/2019 vom 9. Mai 2019 E. 3.5; 8C_403/2017 vom 25. August 2017 E. 4.3; je mit Hinweisen). Dass für einen Arbeitnehmer mit eingeschränkter Leistungsfähigkeit beim Arbeitgeber proportional höherer administrativer Aufwand anfallen kann, liegt in der Natur der Sache und war dem Bundesgericht stets bewusst. Ernsthafte Gründe für eine Abkehr von der gefestigten Rechtsprechung (vgl. zu den Voraussetzungen für eine Praxisänderung <ref-ruling> E. 5.5.1 S. 303; <ref-ruling> E. 4.5 S. 541) macht der Beschwerdeführer nicht substanziiert geltend, weshalb sich diesbezügliche Weiterungen erübrigen (vgl. Urteil 9C_232/2019 vom 26. Juni 2019 E. 3.1).
4.4.2. Die Vorinstanz hat im Zusammenhang mit dem umstrittenen Abzug festgestellt, die gesundheitlichen Defizite des Beschwerdeführers seien bereits bei der medizinischen Einschätzung der Arbeits (un) fähigkeit umfassend berücksichtigt worden. Dass diese Feststellung offensichtlich unrichtig (unhaltbar, willkürlich: <ref-ruling> E. 6.3 S. 375; <ref-ruling> E. 8.1 S. 153; vgl. auch <ref-law>) sein oder auf einer Rechtsverletzung beruhen soll, wird nicht substanziiert dargelegt und ist auch nicht ersichtlich. Solches ergibt sich insbesondere nicht aus dem Umstand, dass die Ärztin des Regionalen Ärztlichen Dienstes (RAD) "arterielle Hypertonie" und "rezidivierende ängstlich-depressive Störung mit somatischen Symptomen bei beruflichen und familiären Belastungsfaktoren" als Gesundheitsschaden ohne Auswirkung auf die Arbeitsfähigkeit aufführte. Diese gesundheitlichen Beeinträchtigungen sind denn auch nicht zwangsläufig mit einer Lohnminderung verbunden, auch wenn es laut Beschwerdeführer gilt, sich bei der Stellensuche gut zu "verkaufen". Hinzu kommt, dass die RAD-Ärztin funktionelle Auswirkungen wie Vergesslichkeit, Verlangsamung, leichtere Ermüdung und Konzentrationsstörungen anerkannte, und dass diese in die Arbeitsfähigkeitsschätzung einflossen.
4.4.3. Dem Alter kommt im Zusammenhang mit dem Leidensabzug nur beschränkte Bedeutung zu. So fällt der Umstand, dass die Stellensuche altersbedingt erschwert sein mag, als invaliditätsfremder Faktor regelmässig ausser Betracht (Urteil 8C_552/2017 vom 18. Januar 2018 E. 5.4.1). Ausserdem wirkt sich das Alter bei im Informations- und Kommunikationstechnikbereich tätigen Männern im Alterssegment ab 50 Jahren im Vergleich zum Mittelwert lohnerhöhend aus (vgl. LSE 2016, Tabelle T 17, Zeilen 25 und 35). Hinsichtlich des Dienstalters erachtet es die Rechtsprechung zwar einerseits als plausibel, dass der Verlust einer Arbeitsstelle nach einer lang dauernden Anstellung auch den Verlust des allenfalls lohnrelevanten Vorteils der bisherigen Dienstjahre nach sich zieht. Andererseits ist eine lange Dienstdauer beim gleichen Arbeitgeber auf dem ausgeglichenen Arbeitsmarkt aber grundsätzlich positiv zu werten, indem die durch die langjährige Betriebstreue ausgewiesene Zuverlässigkeit und Tüchtigkeit sich bei einem anderen Arbeitgeber im Anfangslohn niederschlägt (Urteil 8C_552/2017 vom 18. Januar 2018 E. 5.4.1 mit Hinweisen). Sodann ist zu berücksichtigen, dass sich das Anfangseinkommen im Rahmen einer neuen Arbeitsstelle in der Regel nicht isoliert nach der Anzahl Dienstjahre, sondern u.a. auch aufgrund der mitgebrachten Berufs- bzw. Branchenerfahrungen bestimmt (Urteil 9C_874/2014 vom 2. September 2015 E. 3.3.1). Dass der Versicherte rund zehn Jahre beim gleichen Arbeitgeber arbeitete und wenige Wochen nach Erhalt der angefochtenen Verfügung 60 Jahre alt wurde, führt somit nicht zwingend zu einer - im Vergleich zum Mittelwert - erheblichen Lohneinbusse.
4.5. Nach dem Gesagten hat die Vorinstanz kein Recht verletzt, indem sie einen Abzug vom Invalideneinkommen verweigert hat. Die Beschwerde ist unbegründet.
5.
Dem Ausgang des Verfahrens entsprechend hat der Beschwerdeführer die Kosten zu tragen (<ref-law>).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 800.- werden dem Beschwerdeführer auferlegt.
3.
Dieses Urteil wird den Parteien, dem Kantonsgericht Luzern, 3. Abteilung, und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 28. August 2019
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Pfiffner
Die Gerichtsschreiberin: Dormann